小程序获取openId,报错 {\“errcode\“:40029,\“errmsg\“:\“invalid code, rid: 6515357b-15f0e52f-024d7479\“}

  • wx.login

    • 调用接口获取登录凭证(code)。通过凭证进而换取用户登录态信息,包括用户在当前小程序的唯一标识(openid)、微信开放平台账号下的唯一标识(unionid,若当前小程序已绑定到微信开放平台账号)及本次登录的会话密钥(session_key)等。用户数据的加解密通讯需要依赖会话密钥完成。
    • code
      • 用户登录凭证(有效期五分钟)。开发者需要在开发者服务器后台调用 code2Session,使用 code 换取 openid、unionid、session_key 等信息

        示例代码

wx.login({
  success (res) {
    if (res.code) {
      //发起网络请求
      wx.request({
        url: 'https://example.com/onLogin',
        data: {
          code: res.code
        }
      })
    } else {
      console.log('登录失败!' + res.errMsg)
    }
  }
})

        根据code获取token,报{\"errcode\":40029,\"errmsg\":\"invalid code, rid: 6515357b-15f0e52f-024d7479\"}错误

        rid有几种错误码:      

        rid: 64407db4-787c85db-334c5ff0 --- code过期

        rid: 64407db4-6cdf4a6f-6f3f7836 ---code重复使用

        rid: 64407db4-6f6c2ac3-12a35a73 ---code错误

  •  检查有无以下问题:

    • 前后端使用的appId是否一致,检查下是否code和appid不匹配,也就是这个code不是这个appid生成的。
    • 每次进入页面拿到code后,是否直接调接口使用,code有效期五分钟

       

         检查过后是因为服务端的appId和本地的appId不一致导致的。

        最后,将从微信服务器获取到的openid返回给小程序客户端,客户端可以自行处理这个openid。

        需要注意的是,你需要在微信公众平台上创建小程序,并获取到小程序的appid和secret,用于后端服务器的验证和获取用户openid的请求中。

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用和引用的内容可以得知,当获取用户的openid时,参数需要拼接在URL连接上,否则会报错如{"errcode":40013,"errmsg":"invalid appid, hints: [ req_id: iil1ba0504ns86 ]"}。而在微信网页授权过程中,区分大小写是正规操作,所以需要注意大小写的问题。在引用中的例子中出现了类似的错误错误提示为{errcode:40029,errmsg:invalid code},经过检查后发现是因为传给后端的code没有正确消费,在网上进行了一番搜索和调试后,发现问题在于从链接上获取code被强制处理成了小写,导致验证失败。所以在获取链接上的code时,需要注意不要强制处理大小写。综上所述,当出现{"errcode":40029,"errmsg":"invalid code, rid: 64e84b5d-05795dc9-5ff937fc"}的错误时,需要检查传给后端的code是否正确消费,并注意大小写的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [关于微信小程序的支付开发:40013错误](https://download.csdn.net/download/weixin_38590790/16213652)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [微信网页授权报错{errcode:40029,errmsg:invalid code}](https://blog.csdn.net/weixin_44312227/article/details/127791356)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [微信小程序 报错errcode: 40029, errmsg: “invalid code](https://blog.csdn.net/qq_37916164/article/details/115523755)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值