小程序已绑定微信开放平台为什么还是获取不到unionid?
发布于 5 年前 作者 agu 4591 次浏览 来自 问答

我想反馈一个BUG:

首先我的需求是小程序获取unionid,按照文档的步骤通过wx.login获取code再用code调

https://api.weixin.qq.com/sns/jscode2session?
appid=%s&secret=%s&js_code=%s&grant_type=authorization_code

获取unionid,但是返回的只有openid

微信开放平台已经绑定过了,大概2月2号也测试过,能取到unionid,之后代码一直没动,2月6号再测就取不到了,求大神帮忙看看

10 回复

那么请问你仔细阅读文档了么

@sh 兄弟,这个问题我遇到过。

第一:您获取到过unionid,应该是您这个账号是从统一开放平台下(比如公众号)下进到小程序,这时候调用jscode2session接口肯定会有返回unionid

第二:过了2天获取不到了,可能是这个用户没有从统一开放平台下公众号进入到小程序,而是直接搜索您线上的小程序进入的小程序,这时候获取unionid就只能根据前端wx.getUserInfo返回给你的iv,encryptedData来解密获取到用户的unionid。具体搜索 ‘小程序解密用户基本信息’。

ps:别问我为啥知道,因为我加了一晚上班,才搞清楚这个东西,出问题的用户确实是直接搜索小程序进的!

还有如果用户直接从关联的公众号进入小程序,前端的wx.login也可以获取到unionid。

光获取openid 这个坑就卡了我两天,官方文档也有时候让人误会以为能直接取到,作为小白,最后才弄清楚拿到code丢给后台,后台处理再返回给我openid,官方文档可没说的这么清楚。

还有如果用户直接从关联的公众号进入小程序,前端的wx.login也可以获取到unionid。


----------


同一个微信开放平台下的相同主体的App、公众号、小程序,如果用户__已经__关注公众号,或者__曾经__登录过App或公众号,则用户打开小程序时,开发者可以直接通过wx.login获取到该用户UnionID,无须用户再次授权。

请注意已经和曾经两个词、这就是为什么公众号进入能获取的到,因为公众号进入用户基本是关注了你的公众号的,所以获取的到。

请问你获取不到 unionid 的用户又关注你的公众号或者同主体下的其他帐号么

我知道用wx.login获取不到unionid是正常的  因为我没有关注过公众号

我调的是这个接口

获取unionid的条件我已经满足了,上面也截图过了,但就是获取不到

我也遇到这个问题

绑上开放平台取不到 unionid

是不是 开放平台响应需要时间?

回到顶部