微信小程序無法獲取到unionId(專業踩坑20年)


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了

------------------------------------------------------------------------性感分割線-------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------------------------------------------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM