微信小程序 雲開發中部分用戶獲取不到unionId


在微信小程序 雲開發中,部分用戶無法獲取到unionId ,但是有的用戶可以獲取到

 

上面這個用戶通過手機號登錄獲取到UnionId的,沒有獲取的在result中沒有uninid,

因為公司業務是以手機號來區分用戶的,並沒有着重與unionid ,所以能不能獲取到無所謂,但是我我納悶為啥有的可以獲取到,有的無法獲取到。

后來看了微信官方的技術文檔,知道了為什么。

UnionID獲取途徑

綁定了開發者帳號的小程序,可以通過以下途徑獲取 UnionID。

  1. 調用接口 wx.getUserInfo,從解密數據中獲取 UnionID。注意本接口需要用戶授權,請開發者妥善處理用戶拒絕授權后的情況。

  2. 如果開發者帳號下存在同主體的公眾號,並且該用戶已經關注了該公眾號。開發者可以直接通過 wx.login + code2Session 獲取到該用戶 UnionID,無須用戶再次授權。

  3. 如果開發者帳號下存在同主體的公眾號或移動應用,並且該用戶已經授權登錄過該公眾號或移動應用。開發者也可以直接通過 wx.login + code2Session 獲取到該用戶 UnionID ,無須用戶再次授權。

  4. 用戶在小程序(暫不支持小游戲)中支付完成后,開發者可以直接通過getPaidUnionId接口獲取該用戶的 UnionID,無需用戶授權。注意:本接口僅在用戶支付完成后的5分鍾內有效,請開發者妥善處理。

  5. 小程序端調用雲函數時,如果開發者帳號下存在同主體的公眾號,並且該用戶已經關注了該公眾號,可在雲函數中通過 cloud.getWXContext 獲取 UnionID。

  6. 小程序端調用雲函數時,如果開發者帳號下存在同主體的公眾號或移動應用,並且該用戶已經授權登錄過該公眾號或移動應用,也可在雲函數中通過 cloud.getWXContext 獲取 UnionID。

以上粘貼自微信官方文檔。

我的問題出在第六項。“小程序端調用雲函數時,如果開發者帳號下存在同主體的公眾號,並且該用戶已經關注了該公眾號,可在雲函數中通過 cloud.getWXContext 獲取 UnionID。”

首先,先排查在微信開放平台是否有綁定。如果有綁定是名問題沒出在這。

其次,我將未獲取到unionid的用戶關注了公司公眾號,在刷新程序時,即可獲取unionid。

最后我覺得,如果您公司后台業務以unionid為主是,即可用wx.getUserInfo,從解密數據中獲取 UnionID。並讓產品規划出合理的授權頁面(因為需要用戶授權),

如果向我們一樣使用手機號直接獲取登錄的,就無所謂,如果還需要unionid。就讓產品出設計如何合理的讓用戶進行授權


免責聲明!

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



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