收藏
回答

小程序页面在插件真机调试时code换取openid失败

问题类型 插件 AppID 插件版本号 AppID 操作系统 微信版本 基础库版本
Bug wx0ebd63bd0a26f767 dev wx0ebd63bd0a26f767 iOS 7.0.4 2.7.0

- 当前 Bug 的表现(可附上截图)

开发者工具为“插件模式”下真机调试,通过wx.login 获取 openid显示(无效的code)错误。开发者工具上直接调试正常。


- 预期表现


- 复现路径


- 提供一个最简复现 Demo

https://developers.weixin.qq.com/s/iiUFCyml7F8F





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

1 个回答

  • 疯狂的小辣椒
    疯狂的小辣椒
    2019-05-23

    使用的是哪个版本的工具,使用代码片段未能复现问题

    2019-05-23
    有用
    回复 4
    • 自然凉
      自然凉
      2019-05-23

      我用的开发者工具版本是 RC v1.02.1905151


      我看见您截图里有个请求包500,这个原因就是因为wx.login 获取的code不是来源于 wx0ebd63bd0a26f767 这个appid, 您可以在开发者工具里更新appid为 wx0ebd63bd0a26f767 ,关闭合法域名校验,然后在开发者工具里可以看见 请求是200,但是在预览(真机)上就是报错500.



      2019-05-23
      回复
    • 疯狂的小辣椒
      疯狂的小辣椒
      2019-05-23回复自然凉

      真机预览OK的哦,iPhonexr 12.2 7.0.4 测试的

      2019-05-23
      回复
    • 自然凉
      自然凉
      2019-05-23回复疯狂的小辣椒

      不是的,您看到的打印 “1234” 后面的结果是wx.login 获取到的响应,这个是根据“插件开发工具”的appid来获取的吧。下面有个<!DOCTYPE ...的报错,是我们这个后端服务拿当前code换取openid后报错500 的html,理论上用我上文提到的设定在开发者工具里的appid(wx0ebd63bd0a26f767) 来获取的code和appid(wx0ebd63bd0a26f767)发送到我这边服务端的话,不会报500的。


      换个说法来提出我的疑问:真机预览的时候wx.login 获取code的时候,用的appid不是我开发者工具里填入的appid吧?

      2019-05-23
      回复
    • 寂
      2019-05-23回复自然凉

      ”换个说法来提出我的疑问:真机预览的时候wx.login 获取code的时候,用的appid不是我开发者工具里填入的appid吧?“

      不是



      获取openid请参考文档:

      https://developers.weixin.qq.com/miniprogram/dev/api-backend/auth.code2Session.html

      请求地址

      GET https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

      请求参数

      属性类型默认值必填说明
      appidstring
      小程序 appId
      secretstring
      小程序 appSecret
      js_codestring
      登录时获取的 code
      grant_typestring
      授权类型,此处只需填写 authorization_code


      2019-05-23
      回复
登录 后发表内容