wx.login部分用户获取不到unionid?
发布于 5 年前 作者 vxiao 6413 次浏览 来自 问答

前提:

  1. 小程序绑定了开放平台

  2. 同一开放平台主体下也绑定了APP,服务号

  3. 服务号绑定了小程序(为何要这么复杂。。)

问题:

A,B,二用户,

A用户通过APP登录  ok 获取到unioinId, 在通过小程序 jscode2session 服务端code换session_key,返回:openId有, unionId 有

B用户通过APP登录  ok  获取到unioinId,在通过小程序 jscode2session 服务端code换session_key,返回:openId有, unionId null

8 回复

我搞定了。

得先用wx.login->code->session_key

wx.getUesrInfo->{iv,encryptedData}

{iv,encryptedData,session_key}->decode->userInfo

这里的userInfo里就会包含openId和unionId.

--------------------------------------

哎!自从得了神经病,精神好多了!

这个问题的原因我已经彻底解决,请看我的博客:

https://www.cnblogs.com/huozhicheng/p/7910745.html

希望能帮助更多的人。

还没到解密那一步,我问题是换session_key的时候没有返回unionId

关注也试过,获取不到unioinId用户始终获取不到

关注了,需要重新把自己登录的数据发送给后台用code去解密的

目前有两个途径可以获取unionid。

1、wx.getUserInfo返回的加密数据,解密后可以获取unionid。

    条件是小程序必须已经绑定到开发者帐号。

2、使用wx.login返回的code 通过 code2session接口获取unionid。条件是用户已经 关注或授权登录 同主体名同开发者帐号的公众号或移动app。小程序是否已经绑定公众号对接口特性没有影响。


综上,小程序只是完成开放平台绑定的话,通过code是无法获取unionid的。条件2不满足。

unioinId,是要关注了公众号才会有的。官方文档    https://mp.weixin.qq.com/debug/wxadoc/dev/api/uinionID.html

回到顶部