项目是微信小程序,本人后端开发。
目前获取方式:前端调用wx.login获取code传给后端,后端拿到code通过 code2Session 获取session_key openId 以及 unionId。
碰到的问题:今日测试时,发现某微信账号在登录时,code2Session 接口未返回 unionId。
通过查询文档以及求助社区后,找到 getUserinfo 获取用户信息,可以拿到 unionId。但是,但是,但是,它需要用户确认授权。。。那么是不是这个用户每次登录都需要授权才能拿到 unionId ?这样的交互是否过于不友好?还是说 这个用户 授权一次过后,以后登录 code2Session 就可以返回unionId了?
请教各位大佬,小程序获取 UnionId 的最佳方式到底是啥?
unionId获取方式有以下几种
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/union-id.html
不管哪种方式,用户都不会是被静默获取到unionId的,
比如支付,比如关注公众号,比如授权登录公众号/移动app,还有就是你说的wx.getUserinfo,
至于最佳方式,看你业务需求是啥,结合业务的方式才是最佳的方式,
然后你说的"是不是这个用户每次登录都需要授权才能拿到 unionId "
其实不用每次都调wx.getUserinfo,调过一次wx.getUserinfo成功之后,
就能拿到openid和unionId,
下次再静默调用wx.login之后得到openid能查到之前得到的unionId是什么了