我在2017年的时候提出一个问题:我的小程序复用了公众号的认证,现在,必须关注公众号才能获取unionID,不关注就无法获取,请问是什么原因?
链接:https://developers.weixin.qq.com/community/develop/doc/5d0d1e71eec589959e1c76a20614e2fa
当时官方反馈说不支持此项需求。
现在我们要对新项目进行技术选型论证,提前问下避免走弯路。
请问目前上述是否解决?
另外,如果未解决,是否不复用公众号的认证就可以在小程序中获取unionid?
感谢回答!
你好,unionID获取机制请参考文档说明:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/union-id.html
1、原因是:微信就这么规定的。
2、不复用更没有unionid。
如果用户关注了关联的公众号可以直接获取,但是不关注也可以获取:
1 用户未授权,通过 <button open-data='getUserInfo'></button> 获取用户授权之后获取
2 用户已授权,直接调用 wx.getUserInfo() 即可获取
https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserInfo.html
小程序getuserinfo 解密获取
绑过了没用,必须用户登录授权过才可以取到。
我们最后的解决方案是,用户登录前,先调用 wx.login 去查有没有这个用户的 openid,如果没有通过 wx.getUserInfo 强制去获取用户的 openid 和 unionid 记录下来。
这样用户新用户只用授权一次,老用户只要查到有 openid 就可以正常登陆,app 端直接用 unionid就可以了,不至于出现两个用户的情况。
不需要关注的。自己看下文档吧