亚洲av日韩av无码a一区-18女下面流水不遮图免费图-老司机午夜福利试看体验区-ChineSe交换俱乐部4P

微信開發(fā):什么是UnionId和OpenId,他們的關(guān)系是什么,如何獲???

微信體系生態(tài)圈開發(fā),離不開UnionId、OpenId,今天帶大家一起深入了解下 UnionId、OpenId 是什么,如何獲取

上海小程序開發(fā)
上海小程序開發(fā)

OpenId是什么?

OpenId?是一個(gè)用戶對(duì)于一個(gè)小程序/公眾號(hào)的標(biāo)識(shí),開發(fā)者可以通過這個(gè)標(biāo)識(shí)識(shí)別出用戶。類似?wxopenid,同一個(gè)人,使用不同的小程序,會(huì)留下不同的小程序?OpenId?。獲取小程序?OpenId?無需用戶操作和授權(quán)。

UnionId是什么?

UnionId?是一個(gè)用戶對(duì)于同主體微信小程序/公眾號(hào)/APP的標(biāo)識(shí),開發(fā)者需要在微信開放平臺(tái)下綁定相同賬號(hào)的主體。開發(fā)者可通過?UnionId,實(shí)現(xiàn)多個(gè)小程序、公眾號(hào)、甚至APP 之間的數(shù)據(jù)互通。

正常情況下,微信生態(tài)中,UnionId?是用戶身份的唯一標(biāo)識(shí),(如果業(yè)務(wù)涉及不同主體,不一定)。

所以,如果開發(fā)者擁有多個(gè)移動(dòng)應(yīng)用、網(wǎng)站應(yīng)用、和公眾帳號(hào)(包括小程序),可通過?UnionId?來區(qū)分用戶的唯一性。

OpenId 如何獲???

通過調(diào)用?wx.login()?,獲取臨時(shí)登錄憑證憑證 code

App({
  onLaunch: function() {
    wx.login({
      success: function(res) {
        if (res.code) {
          //發(fā)起網(wǎng)絡(luò)請(qǐng)求
          // code: 就是登錄憑證(code)
        }
      }
    });
  }
})

前端獲取到 code 后,將 code 傳給后端,后端調(diào)用接口獲取?session\_key?和?OpenId?,接口如下:

https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

?UinionId 如何獲?。?/strong>

前提條件:

  1. 微信開放平臺(tái)帳號(hào)已完成開發(fā)者資質(zhì)認(rèn)證
  2. 微信開放平臺(tái)綁定小程序

獲取 UnionId 流程:

  1. 調(diào)用接口??wx.getUserInfo?,從解密數(shù)據(jù)中獲取 UnionID。注意本接口需要用戶授權(quán),請(qǐng)開發(fā)者妥善處理用戶拒絕授權(quán)后的情況。
  2. 如果開發(fā)者帳號(hào)下存在同主體的公眾號(hào),并且該用戶已經(jīng)關(guān)注了該公眾號(hào)。開發(fā)者可以直接通過??wx.login? +?code2Session?獲取到該用戶 UnionID,無須用戶再次授權(quán)。
  3. 如果開發(fā)者帳號(hào)下存在同主體的公眾號(hào)或移動(dòng)應(yīng)用,并且該用戶已經(jīng)授權(quán)登錄過該公眾號(hào)或移動(dòng)應(yīng)用。開發(fā)者也可以直接通過 wx.login +?code2Session?獲取到該用戶 UnionID ,無須用戶再次授權(quán)。
  4. 用戶在小程序(暫不支持小游戲)中支付完成后,開發(fā)者可以直接通過?getPaidUnionId?接口獲取該用戶的 UnionID,無需用戶授權(quán)。注意:本接口僅在用戶支付完成后的5分鐘內(nèi)有效,請(qǐng)開發(fā)者妥善處理。
  5. 小程序端調(diào)用?云函數(shù)?時(shí),如果開發(fā)者帳號(hào)下存在同主體的公眾號(hào),并且該用戶已經(jīng)關(guān)注了該公眾號(hào),可在云函數(shù)中通過 cloud.getWXContext 獲取 UnionID。
  6. 小程序端調(diào)用?云函數(shù)?時(shí),如果開發(fā)者帳號(hào)下存在同主體的公眾號(hào)或移動(dòng)應(yīng)用,并且該用戶已經(jīng)授權(quán)登錄過該公眾號(hào)或移動(dòng)應(yīng)用,也可在云函數(shù)中通過??cloud.getWXContext? 獲取 UnionID。

UnionId和OpenId的關(guān)系

一個(gè)人,在同主體的小程序、公眾號(hào)等下面只有 1 個(gè) UnionId,有多個(gè) wxopenid 和多個(gè)小程序OpenId 。
UnionId是同主體應(yīng)用下唯一身份證,可以查詢對(duì)應(yīng)的wxopenid和小程序OpenId。因此,UnionId 的覆蓋率是最高的。當(dāng)用戶關(guān)注公眾號(hào)、逛公眾號(hào)下面H5時(shí),可以同時(shí)獲取 UnionId、wxopenid。而逛小程序時(shí),可以同時(shí)獲取小程序 UnionId、openid。不管逛哪都能拿到 UnionId。
在單個(gè)小程序或公眾號(hào)里,OpenId 是唯一的。當(dāng)同一個(gè)小程序主體下有多個(gè)小程序時(shí),每個(gè)小程序有自己的 OpenId,因此需要 UnionId 進(jìn)行唯一身份標(biāo)識(shí),即:UnionId 是同個(gè)主體下不同小程序的用戶唯一標(biāo)識(shí)

?



請(qǐng)輸入姓名或昵稱
如果您有任何疑問、需要更多信息或希望與我們建立合作請(qǐng)留言
11 * 9 =

本文來自投稿,如若轉(zhuǎn)載,請(qǐng)注明出處:http://tools.bwy6ui.cn/blog/715.html

(4)
Infocode藍(lán)暢Infocode藍(lán)暢
上一篇 2020年6月24日 下午10:44
下一篇 2020年6月28日 下午11:56

相關(guān)文章內(nèi)容推薦