wx.login拿code去换取unionid,有时候能拿到有时候拿不到
发布于 5 年前 作者 mhan 360 次浏览 来自 问答


当小程序调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来作唯一区分。

4 回复

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

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

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

@李少年 谢谢

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

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

才会返回unionid。

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

回到顶部