微信小程序已经绑定了开放平台,进行微信授权后,在后台通过code2session获取用户信息时,大部分情况下都能正常取到unionID,但是有个别人的微信授权后,只取到openid,没有unionid, 请问这是什么原因导致的?
记录的请求和返回数据如下:第一条没有返回unionid,第二条则有unionID
记录时间:2020-08-01 17:08:37
{"session_key":"3HtkhwPDh2RWq1XYa5weMA==","openid":"ocY5t5dQzlq_c0U5_6onXNbNnBH0"}
记录时间:2020-08-01 17:12:13
{"session_key":"Go\/\/0JtvDACyImi12fAPug==","openid":"ocY5t5T-j_NdFII8mW8dlvSVH8u0","unionid":"okSO30_mMUrDFd-uKHbR98KNFeD8"}
主要问题在于:不是全部用户的UnionID都取不到,而是绝大部分的UnionID都能取出来,但是有个别人用微信授权后,取不出来,这个我就困惑了。
看看文档的unionid机制的说明呢,上面说了哪些情况用code2session接口可以获取到unionid。https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/union-id.html
第二种方法是用户授权,再解密数据来获取unionid,请看这个https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html