前提:
小程序绑定了开放平台
同一开放平台主体下也绑定了APP,服务号
服务号绑定了小程序(为何要这么复杂。。)
问题:
A,B,二用户,
A用户通过APP登录 ok 获取到unioinId, 在通过小程序 jscode2session 服务端code换session_key,返回:openId有, unionId 有
B用户通过APP登录 ok 获取到unioinId,在通过小程序 jscode2session 服务端code换session_key,返回:openId有, unionId null
目前有两个途径可以获取unionid。
1、wx.getUserInfo返回的加密数据,解密后可以获取unionid。
条件是小程序必须已经绑定到开发者帐号。
2、使用wx.login返回的code 通过 code2session接口获取unionid。条件是用户已经 关注或授权登录 同主体名同开发者帐号的公众号或移动app。小程序是否已经绑定公众号对接口特性没有影响。
综上,小程序只是完成开放平台绑定的话,通过code是无法获取unionid的。条件2不满足。
楼主解决了吗?
码友求解答:https://developers.weixin.qq.com/blogdetail?action=get_post_info&docid=000ea60b7a48e83356968bcbb5b000&highline=unioinid
这个问题的原因我已经彻底解决,请看我的博客:
https://www.cnblogs.com/huozhicheng/p/7910745.html
希望能帮助更多的人。
我搞定了。
得先用wx.login->code->session_key
wx.getUesrInfo->{iv,encryptedData}
{iv,encryptedData,session_key}->decode->userInfo
这里的userInfo里就会包含openId和unionId.
--------------------------------------
哎!自从得了神经病,精神好多了!
还没到解密那一步,我问题是换session_key的时候没有返回unionId
关注了,需要重新把自己登录的数据发送给后台用code去解密的
关注也试过,获取不到unioinId用户始终获取不到
unioinId,是要关注了公众号才会有的。官方文档 https://mp.weixin.qq.com/debug/wxadoc/dev/api/uinionID.html