詳談微信網頁授權access_token與普通access_token區別

​今天講的這倆種access_token,看完我這篇文章的時候可以親手調一下微信第三方API進行驗證一下,你就發現確實是那麼回事。

access_token 是公衆號的全局唯一接口調用憑據,公衆號調用各接口時都需要使用access_token。 [ 注意:是所有API接口都需要使用 ]

首先我們講講他們直接的不同之處:

有效期:兩者有效時間都是 7200s

 

使用範圍:通過網頁授權獲得的access_token,只能獲取到對應的微信用戶信息,與微信用戶是一對一關係;而普通的access_token在有效期內可以使用,可以獲取所有用戶信息。
次數限制:普通access_token每天獲取最多次數爲2000次;而網頁授權的access_token獲取次數沒有限制。

如何利用普通access_token獲取用戶信息:

調用第三方API接口:

https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

 

請求方式GET,參數lang表示返回國家地區語言版本。

補充:既然通過普通access_token可以獲取用戶信息,那爲什麼還要網頁授權access_token呢?

 

小編理解是:

公衆號A想獲得受關注用戶B的信息,一般來說,A提供一個標識(普通的access_token)給第三方公衆平臺,說明是自己而不是別的公衆號。

B提供一個標識,用來標識自己(openid)。這樣公衆號A就可以獲取B用戶信息了,但是若公衆號C也想獲取B信息,而B未關注C。

這樣很容易造成用戶B信息的泄露,所以比較安全的做法是讓用戶B去決定是否給公衆號C權限,來獲取自己的私密信息。這個權限就是網頁授權的access_token。 

 

因此,通過普通access_token獲取用戶信息時,如果用戶未關注,信息獲取就爲空。而網頁授權access_token的獲取,只要用戶許可,就可以獲得,不論用戶是否關注。

 

「 網頁授權access_token 」:

微信網頁授權是通過OAuth2.0機制實現的,在用戶授權給公衆號後,公衆號可以獲取到一個網頁授權特有的接口調用憑證(網頁授權access_token),通過網頁授權access_token可以進行授權後接口調用,如獲取用戶基本信息。

「 獲取方式 」:

在微信公衆號開發——微信用戶信息獲取中對其有過介紹,這裏就不再繼續說明了。

 

「 普通access_token 」:

其他微信接口,需要通過基礎支持中的“獲取access_token”接口來獲取到的普通access_token調用。

「 獲取方式 」:

調用接口

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

請求方式爲GET。

參數說明:

參數          是否必須    說明grant_type    是     獲取access_token填寫client_credentialappid         是     第三方用戶唯一憑證secret        是     第三方用戶唯一憑證密鑰,即appsecret

返回參數:

參數               說明access_token      獲取到的憑證expires_in        憑證有效事件,單位:秒

 

「 利用普通access_token獲取用戶信息 」:

在關注者與公衆號產生信息交互後,公衆號可獲得關注者(注意:用此種方法獲取用戶信息,前提是用戶必須關注公衆號)的openid(加密後的微信號,每個用戶對每個公衆號的openid是唯一的)。

公衆號可通過本接口來根據openid獲取用戶基本信息,包括暱稱、頭像、性別、所在城市、語言和關注時間。

「 調用接口 」:

https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

請求方式爲GET。

參數說明:

參數            是否必須    說明access_token    是        調用接口憑證openid          是        普通用戶的標識,對當前公衆號唯一lang            否        返回國家地區語言版本,zh_CN 簡體,zh_TW 繁體,en 英語

返回參數:

返回參數:可以查看具體微信官方文檔。

 

到這裏也就整體是講解完了,小編上面都寫得很清楚了,包括請求的url 以及請求參數,返回參數什麼的,文字也標識得很清楚。

有不知道或者想詳細瞭解朋友,直接可以自己寫代碼 請求測試一下,讓自己更加熟悉通透一下。

————————————————

WeChat微信羣交流「WeChat:gtcarry888」

php web mysql Linux 其他

這裏是一個實驗場,希望給讀者呈現一副關於中國互聯網編程技術的「清明上河圖」。
對互聯網編程技術感興趣「WeChat:gtcarry888」審覈通過,進入我們技術交流問題提問解答羣。

 

【每日微信技術分享記錄】

鏈接:微信技術分享記錄 

https://github.com/gtcarry888/WeChat-Sharing-record

鏈接:小程序相關源碼 

https://github.com/gtcarry888/Source-code

 

原則:羣內禁止鄙視、諷刺等任何初學者,否則直接踢羣,禁止任何業餘廣告推廣。

如有其他問題,可聯繫上述微信或者留言至[email protected]郵箱。

 

喜歡得夥伴可以 微信搜索「資源閒置助手」  關注我的公衆號 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章