收藏
回答

小程序开发时候获取session_key和openid的时候报错怎么解决?

使用uni.login获取code传给后端,后端发送请求https://api.weixin.qq.com/sns/jscode2session get请求 参数是

appid

小程序的secret

前端传输的code

grant_type:'authorization_code'

返回错误是 {"errcode":40029,"errmsg":"invalid code, rid: 643670f9-781381e9-568a4536"}

回答关注问题邀请回答
收藏

2 个回答

  • 🇪 🇱 🇸 🇪
    🇪 🇱 🇸 🇪
    2023-05-30

    这个错误提示是说code无效,可能是因为你在获取session_key和openid时传递的参数有误。建议检查一下以下几个方面:

    1. 检查传递给微信服务器的code是否正确,可以在微信公众平台开发者中心的“网页授权获取用户基本信息”中查看。

    2. 检查你的appId、appSecret、EncodingAESKey等配置是否正确。

    3. 检查你的代码逻辑是否正确,比如是否有重复调用wx.login()的情况。

    如果以上都没有问题,可以尝试重新获取session_key和openid,或者联系微信官方客服寻求帮助。

    2023-05-30
    有用
    回复
  • 大山
    大山
    2023-04-12

    确认后端请求接口的 code,获取到的是前端正确的 code 参数?

    2023-04-12
    有用
    回复 7
    • 姜
      2023-04-12
      是的,获取到之后直接传输给后端,但是后端携带请求时就报错了
      2023-04-12
      回复
    • 大山
      大山
      2023-04-12回复
      应该是你前端传给后端的 code 不对吧,只有格式不对才会是这种错误信息。格式对了,报错会提示 code been used 这种。微信这个接口应该不会有啥问题。把登录uni.login 换成原生的写法再请求试试 wx.login。你把前后端的这两端代码贴出来给你检查看看。
      2023-04-12
      回复
    • 姜
      2023-04-12
      后端大哥出差了。。。估计要到明天才能测了。  这个一般传输code不是string格式吗
      2023-04-12
      回复
    • 大山
      大山
      2023-04-12回复
      是字符串格式的,这种的 0d1Rkn000OUHMP1Gj5100S7Upn4Rkn0j,那这个试试,其他小程序应该会提示 code been used。
      2023-04-12
      回复
    • 姜
      2023-04-12
      0e3ggk0w3GXes03LhF2w3BInag3ggk0H  这个是我最新获取的  我直接传给后端就会报错  就很疑惑 明天我再跟他联调一下吧   谢谢大哥了
      2023-04-12
      回复
    查看更多(2)
登录 后发表内容