收藏
回答

wx.login拿code去换取unionid,有时候能拿到有时候拿不到

问题模块 API/组件名称 终端类型 微信版本 基础库版本
API和组件 wx.login 客户端 6.6.1 1.7.0


当小程序调wx.login拿到code之后去请求服务器,然后服务器去请求你们下面的接口,然后有的请求能拿到unionid有的拿不到。(日志如上面两篇,已经过滤掉了session_key)

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

为什么非得拿unionid呢,是因为要把公众号的用户跟小程序的用户打通,用unionid来作唯一区分。


最后一次编辑于  2018-01-19  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

4 个回答

  • Band🕹
    Band🕹
    2018-01-22

    用户需要满足一定条件(关注过同一主体的公众号等,详细请参考UnionID机制说明 ),接口

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


    才会返回unionid。

    2018-01-22
    赞同
    回复
  • ycj
    ycj
    2018-01-23

    Unionid的机制说明中说到了用户登录过公众号或者是app,这两个我都满足了,为什么在获取Unionid的时候还是提示48001?

    2018-01-23
    赞同
    回复
  • 李少年
    李少年
    2018-01-26

    有时候能获取到unionid,有时候又不能,这个我也遇到过。我的解决办法是:

    https://mp.weixin.qq.com/debug/wxadoc/dev/api/signature.html

    参考这个说明。解密userInfo里面返回的加密数据节点:encryptedData,就能得到unionid了


    2018-01-26
    赞同
    回复
  • Lucien
    Lucien
    2018-01-26

    @李少年 谢谢

    2018-01-26
    赞同
    回复