40029 已尝试所有解决方案仍无效
发布于 5 年前 作者 jing49 18082 次浏览 来自 问答

40029错误, 已经尝试过网上其他人的所有解决办法仍然无效:

  1. 重新在开发者工具里建立一个项目,填写appID, 我甚至重新注册了一个小程序,也无效。

  2. 已确保代码中没有用code两次

正常的一套逻辑,开发工具里前端拿到code, 发送给自己的本地服务器后端:

wx.login({
   success: res => {
     if (res.code) {
       wx.request({
         method: "GET" ,
         url: "http://localhost:8000/wechatSession?sessionCode=" + res.code,
         success: res => {
           console.log(res)
         }
       })
     else {
       console.log( '登录失败!' + res.errMsg)
     }
   }
})

后端代码:

app.get("/wechatSession", function (req, res) {  
 const wechatCode = req.query.code
 axios.get('https://api.weixin.qq.com/sns/jscode2session?appid=' +
   appID +
   '&secret=' +
   appSecret +
   '&js_code=' +
   wechatCode +
   '&grant_type=authorization_code')
   .then(function (response) {
     res.send(response.data)
   })
   .catch(function (error) {
     console.log(error);
   });
});

很奇怪的一件事情:

我如果直接在微信开发者工具里去拿session id的话就可以返回成功,但是通过本地服务器就不行,也试过用生产环境的服务器,同样不行。

8 回复

一样的啊。

你请求传的参数是sessionCode,服务器取参数用code,肯定拿不到客户端传过去的参数呀

{“errcode”:40029,“errmsg”:“invalid code, hints: [ req_id: 5P8xFa0256hb26 ]”}

错误提示能不能,写清楚点。到底是什么错误。code 是小程序取的没有问题。

appid 等都没问题以前都正常,今天突然就报错了。

不是code有问题,就是appid和secret与小程序使用的appid不一致,导致code报错

我用的java写的后端,目前正常使用中

我也遇到了,而且浏览器返回也是40029,重新二次的话返回是code已被使用错误.

还有这种问题?

求助求助! 真的是懵了这个bug

回到顶部