问题模块 |
---|
API和组件 |
为什么现在不返回unionId了?多了个expires_in: 7200,好像回到旧的体系了。原来绑定过并能得到unionId,今天重新登录后台服务器收不到unionId了。
网友回复
经测试得知小程序与微信开放平台,绑定后方可得到unionid
看清是 微信开放平台
目前可以获取unionId的途径。
1、wx.getUserInfo succ回调返回,前提条件是小程序必须绑定了开放平台帐号,没有其他条件。
2、通过wx.login 获得code, 调用jscode2session接口返回。前提条件是小程序绑定了开放平台帐号,且用户曾经关注过同主体同开放平台下的公众号/移动app。这与小程序与公众号是否绑定没有关
那是不是小程序必须得通过认证才可以得到呀?
还是说同一个主体下,只要有大于一个微信公众号就可以得到unionid
我现在也是拿不到unionid ,openid可以取得到,微信返回的结果中没有unionid
我的小程序还没有认证,请问怎样才可以得到unionid?
建议小程序团队在wx.login时直接返回unionid,条件是小程序绑定到开放平台账号。
登录过App是指移动应用App吗?这种方式用户体验有问题吧,在开发者向小程序迁移中不符合腾讯的战略吧
允许我先明确一个问题:楼主提及的获取unionID接口是 wx.login 还是 wx.getUserInfo?
上面提到的“解密方式”是指 wx.getUserInfo 获得的encryptedData解密而得到的unionID。接口下发unionID条件是是"小程序已经绑定开发者帐号"。上述信息查到的小程序已经绑定,所以解密出来也肯定会有unionID。
而最近我们升级unionID获取方案是指“满足一定条件即可通过 wx.login 获取 unionid”。
同一个微信开放平台下的相同主体的App、公众号、小程序,如果用户已经关注公众号,或者曾经登录过App或公众号,则用户打开小程序时,开发者可以直接通过wx.login获取到该用户UnionID,无须用户再次授权。
按照上述提供的case,不满足条件“用户已经关注公众号,或者曾经登录过App或公众号”。所以wx.login是拿不到unionid的。
原来的解密方式获得
"unionid": "o-cWewBtC39XoEYzZslQExJ8E-10", "openid": "oOuP_0I6ezl2Fw4kMkCd3fCj3FQQ"
小程序所在的开发者账号下没有公众号和移动应用,只绑定了三个小程序。
你说的情况有两个可能使得本来满足的条件变成不满足
1、小程序所在的开发者帐号下公众号/移动应用有解绑操作。
2、用户不再关注同帐号下的公众号。
详细情况还请楼主提供下信息给我们核查。
原来能返回,符合这两个条件。
请提供以下信息:
1。该微信用户在小程序下的openid。
2。符合规则的同主体同开放平台帐号的其他公众号/移动应用的appid。
我们将核实情况。