微信小程序獲取openid和unionid方法

??? openid微信公眾平臺(tái)和小程序都有,不同用戶在同一公眾平臺(tái)或是小程序中openid可以用于區(qū)別不同用戶,遺憾的是openid只是應(yīng)用于當(dāng)前公眾號(hào)或小程序。

?? unionid微信公眾平臺(tái)和小程序都有,同一公司多個(gè)公眾號(hào)或是小程序如果想要做用戶數(shù)據(jù)關(guān)聯(lián),unionid是一個(gè)不錯(cuò)的解決方案,不過要在微信開放平臺(tái)上把你想要共享的公眾號(hào)或是小程序進(jìn)行綁定。

??? 言歸正傳先介紹一下 小程序如何獲取openid?


圖一
圖二

? ? 上面的兩個(gè)表格已經(jīng)詳情介紹了如何獲取openid,我在這里補(bǔ)充一下注意事項(xiàng),https://api.weixin.qq.com/sns/jscode2session雖然上面寫的是微信官方的接口,但是我們沒法直接使用,官方的解釋是這個(gè)接口最好是后臺(tái)調(diào)用,前臺(tái)無需調(diào)用,也就是說你要用這個(gè)接口讓公司做后臺(tái)開發(fā)人員另寫一個(gè)接口傳遞的參數(shù)是這個(gè)接口要用的請(qǐng)求參數(shù),讓后臺(tái)調(diào)用該網(wǎng)址以及你所傳遞的參數(shù),后臺(tái)人員直接返回接口的返回值就行。

??? 上面介紹了openid如何獲取,下面介紹如何獲取unionid?

???

圖三

???

圖4

圖3,4是微信里面關(guān)于數(shù)據(jù)簽名的一些介紹,我們所要找的unionid就是要被解密的數(shù)據(jù),其中圖4中畫圈的就是數(shù)據(jù)解析算法,后臺(tái)人員一看就會(huì)里面有demo,支持的后臺(tái)語言是php,node,c++,paython目前僅有這四個(gè)語言的解析包,同介紹openid一樣,讓后臺(tái)人員另寫一個(gè)接口把你要傳遞的參數(shù),通過微信的解析包解析把結(jié)果返回給你里面就會(huì)有你要用的unionid數(shù)據(jù)。后臺(tái)要用到的參數(shù)分別是appid,sessionKey,encryptedData,iv。這四個(gè)參數(shù),其中appid在你在注冊(cè)了開發(fā)者后微信公眾平臺(tái)就有,encryptedData和iv如圖5


圖 5

最后一個(gè)sessionKey的獲取,如圖二就是在獲取openid的那個(gè)接口的返回值中。

? ? 希望本文對(duì)您有所幫助,如您在實(shí)際測(cè)試中有遇到各種奇怪的問題請(qǐng)?jiān)谙路搅粞裕乙菚?huì)我會(huì)幫您去解決,如果后面有時(shí)間的話我會(huì)寫兩個(gè)公共的接口供大家測(cè)試使用。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容