微信中的APP、公眾號、小程序的openid及unionid介紹


微信中的APP、公眾號、小程序的openid及unionid介紹

1、unionid

如果開發者擁有多個移動應用、網站應用、和公眾帳號(包括小程序),可通過 UnionID 來區分用戶的唯一性,因為只要是同一個微信開放平台帳號下的移動應用、網站應用和公眾帳號(包括小程序),用戶的 UnionID 是唯一的。換句話說,同一用戶,對同一個微信開放平台下的不同應用,unionid是相同的。

2、openid

     同一個應用(App、公眾號、小程序)的同一個用戶有唯一的openid,

     openid是微信通過  appid+secret+微信號 生成的,是不變的,保證開發者能夠通過此openId辨認出同個用戶,相當於數據庫表的user表的id

     微信官方文檔之獲取用戶OPENID機制:

     https://wiki.open.qq.com/wiki/mobile/%E8%8E%B7%E5%8F%96%E7%94%A8%E6%88%B7OpenID

3、微信中的用戶微信標識:微信號

4、微信昵稱不唯一

 

備注:

微信官方文檔之union機制:

https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/union-id.html

 UnionID 機制說明

如果開發者擁有多個移動應用、網站應用、和公眾帳號(包括小程序),可通過 UnionID 來區分用戶的唯一性,因為只要是同一個微信開放平台帳號下的移動應用、網站應用和公眾帳號(包括小程序),用戶的 UnionID 是唯一的。換句話說,同一用戶,對同一個微信開放平台下的不同應用,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。

 


免責聲明!

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



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