首页 > 微信 > 详细

微信小程序无法获取到unionId(专业踩坑20年)

时间:2019-06-01 12:42:15      阅读:69      评论:0      收藏:0      [点我收藏+]

UnionID机制说明
如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过unionid来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的unionid是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。

我们系统都做了移动应用、网站应用、和公众帐号的微信登入,我们后端这边是有微信绑定账号功能的。所以需要在微信的给出的用户唯一的unionID判断该用户是否已绑定微信号。

 

 

微信小程序API详情的官方链接: https://developers.weixin.qq.com/miniprogram/dev/api/api-login.html#wxloginobject

微信官方的流程图:
技术分享图片

前端调用wx.login获取code,然后将code返回给后台拿着code与appid,secret访问微信接口获取session_key、openid和 unionId

 

看一下拿code请求成功后,微信官方给出的返回结果:

技术分享图片

 

 

我当时返回的结果就是不满足UnionID情况下的、此处我黑人问号三连???

再看看微信官方给出的解释、怎么才能满足UnionID的情况呢?

技术分享图片

所以我就让前端同事改逻辑,前端需要调用完wx.login函数后获得code、紧接着前端再调用wx.authorize函数让用户授权同意再将刚刚调用完wx.login获取到的code请求后端接口(前端的这里调用函数貌似是有顺序的 wx.login ----> wx.authorize)

然后............................

还是只返回了session_key、openid  还是没有UnionID !!!!!麻蛋!

划重点、检查微信开放平台的管理中心的小程序是否添加绑定:
开发资质未认证的话,需要申请开发者资质认证(需要交资料and费用)
技术分享图片

认证通过后、去管理中心、小程序、绑定小程序(小程序登入账号就是微信公众号的账号and密码)

技术分享图片

绑定好后、再次访问小程序接口、就可以获取到UnionID了

技术分享图片

------------------------------------------------------------------------性感分割线-------------------------------------------------------------------------------
技术分享图片

 

微信小程序无法获取到unionId(专业踩坑20年)

原文:https://www.cnblogs.com/yehuisir/p/10959165.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!