我有一个微信小程序APPID为:wxbcc9395b803c43b2 ,一个微信订阅号APPID为:wxd70b90a01ce9c343 以及一个服务号APPID为:wx6d0fa8adb70b9c9f 。三个号为同一主体:成都丘山科技有限公司。
刚开始的时候,我的小程序是通过微信认证(300元)了的,订阅号只是通过了打款认证,我使用小程序API :wx.getUserInfo 获取用户信息,将encryptedData以及iv发送给后台进行解密,解密出来的数据中没有unionid,在调用wx.getUserInfo之前调用过wx.login,也尝试过直接通过 code2Session 进行unionid获取,也同样没有返回unionid,我尝试的微信号是我自己的,是关注了订阅号的。
GET https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
在以上方法无果的情况下,我猜测是订阅号没有通过微信认证的原因导致的,所以我又注册了一个服务号,通过了微信认证,然后我的微信号关注了
这个服务号,使用以上方法同样无法获取unionid,因为我的订阅号已经拥有了获取用户信息的权限,我又尝试了对应接口:
https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
仍然没有返回unionid。
综上,通过小程序的wx.getUserInfo 以及 wx.login+code2Session方式和微信服务号的接口方式都无法获取用户的unionid,目前还没有尝试通过支付后的
getPaidUnionId来获取unionid,所以请教下,是否有人遇到过类似的情况,是什么原因导致的?是哪里还需要设置吗?判断账号关联(是否同一主体)应该是微信系统直接完成的吧?