首頁 微信小程式 微信開發 微信公眾號-取得使用者資訊(網頁授權取得)實現步驟

微信公眾號-取得使用者資訊(網頁授權取得)實現步驟

Nov 21, 2016 pm 03:49 PM
微信

根據微信公眾號開發官方文件:

獲取使用者資訊步驟如下:

1 第一步:使用者同意授權,取得code
2 第二步:透過code換取網頁授權access_token
3 第三步:刷新access_token(如果需要)
4 第四步:拉取用戶資訊(需scope為snsapi_userinfo)

1 取得code

在確保微信公眾帳號擁有授權作用域(scope參數)的取得code

在確保微信公眾帳號擁有授權作用域(scope參數)的權限的前提下(服務號碼取得進階介面後,預設擁有scope參數中的snsapi_base和snsapi_userinfo),引導追蹤者開啟下列頁面:


https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRsco_UM; =SCOPE&state=STATE#wechat_redirect


若提示“該連結無法存取”,請檢查參數是否填寫錯誤,是否擁有scope參數對應的授權作用域權限。

尤其註意:由於授權操作安全等級較高,所以在發起授權請求時,微信會對授權連結做正規強匹配校驗,如果連結的參數順序不對,授權頁面將無法正常存取

其中:



AppID - 公眾號碼的唯一識別
REDIRECT_URI - 跳轉url

SCOPE - 值為snsapi_base(不彈出授權頁面,直接跳轉,只能取得使用者openid) 或snsapi_userinfo (彈出授權頁面,可透過openidid6暱稱、性別、所在地。換取網頁授權access_token

如果使用者同意授權,頁面將跳到redirect_uri/?code=CODE&state=STATE。

state就是上面的STATE參數原樣傳過來的

實現代碼:

   

<code class="hljs php">$code = I(&#39;get.code&#39;);
if (empty($code)) {
   //todo 非微信访问
   exit(&#39;</code>&#39;);
 }else{ //授权后操作 }
登入後複製

    

在這裡我們可以得到code作為後續的取得access_token。

取得code後,請要求以下連結取得access_token:

 https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SEqT&code=CODE&grant__Lun識別

secret - 密鑰

code - 上述所回傳的code

grant_type - 值為authorization_code

實作程式碼:

<code class="hljs bash">$url = &#39;https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=&#39; . C(&#39;wechat.AppID&#39;) . &#39;&secret=&#39; . C(&#39;wechat.AppSecret&#39;);
$str = file_get_contents($url);
$str = json_decode($str, true);
$access_token = $str[&#39;access_token&#39;];</code>
登入後複製

這裡access_token可以做快取
<code class="hljs php">$access_token = S(&#39;access_token&#39;);
if (empty($access_token)) {
  $url = &#39;https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=&#39; . C(&#39;wechat.AppID&#39;) . &#39;&secret=&#39; . C(&#39;wechat.AppSecret&#39;);
  $str = file_get_contents($url);
  $str = json_decode($str, true);
  $access_token = $str[&#39;access_token&#39;];
  S(&#39;access_token&#39;, $access_token, 3600);
}</code>
登入後複製

在獲取access_token後,也會一併返回openid(用戶唯一標識),微信官方文檔的解釋是:用戶唯一標識,請注意,在未關注公眾號時,用戶訪問公眾號的網頁,也會產生一個用戶和公眾號唯一的OpenID


openid是唯一標識微信用戶的,如果用戶不是第一次登陸,可以在得到openid後查詢數據庫是否有綁定此openid的用戶,之後就無需重新獲取用戶數據,直接取得的資料庫user_id設定session,直接登陸存取

3 第三步忽略,只在需要的時間重新取得access_token而已

4 拉取用戶資訊(scope為snsapi_userinfo)

在資料庫無此微訊號(用戶的綁定下,就相當於用戶首次訪問登陸,則透過第四步來獲取用戶資訊(在用戶授權情況下,網頁授權作用域為snsapi_userinfo,則此時開發者可以透過access_token和openid拉取用戶資訊了),然後後台建立user並綁定此微

信用戶(透過openid)

請求方法


http:GET(請使用https協定) https://api.weixin.qq.com/ sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

access_token - 上述所取得的access_token
openid - 公眾號碼唯一識別

號的資訊:。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

H5和小程序與APP的區別 H5和小程序與APP的區別 Apr 06, 2025 am 10:42 AM

H5、小程序和APP的主要區別在於:技術架構:H5基於網頁技術,小程序和APP為獨立應用程序。體驗和功能:H5輕便易用,功能受限;小程序輕量級,交互性好;APP功能強大,體驗流暢。兼容性:H5跨平台兼容,小程序和APP受平台限制。開發成本:H5開發成本低,小程序中等,APP最高。適用場景:H5適合信息展示,小程序適合輕量化應用,APP適合複雜功能應用。

歐易交易所app國內下載教程 歐易交易所app國內下載教程 Mar 21, 2025 pm 05:42 PM

本文提供國內安全下載歐易OKX App的詳細指南。由於國內應用商店限制,建議用戶通過歐易OKX官方網站下載App,或使用官網提供的二維碼掃描下載。下載過程中,務必核實官網地址,檢查應用權限,安裝後進行安全掃描,並啟用雙重驗證。 使用過程中,請遵守當地法律法規,使用安全網絡環境,保護賬戶安全,警惕詐騙,理性投資。 本文僅供參考,不構成投資建議,數字資產交易風險自負。

H5頁面製作和微信小程序有什麼不同 H5頁面製作和微信小程序有什麼不同 Apr 05, 2025 pm 11:51 PM

H5更靈活,可定制性強,但需要嫻熟的技術;小程序上手快,維護便捷,但受限於微信框架。

公司安全軟件與應用衝突怎麼辦? HUES安全軟件導致常用軟件無法打開如何排查? 公司安全軟件與應用衝突怎麼辦? HUES安全軟件導致常用軟件無法打開如何排查? Apr 01, 2025 pm 10:48 PM

公司安全軟件與應用兼容性問題及排查方法許多企業為了保障內網安全,會安裝安全軟件。然而,安全軟件有時...

企業微信中的JS資源緩存問題如何解決? 企業微信中的JS資源緩存問題如何解決? Apr 04, 2025 pm 05:06 PM

企業微信的JS資源緩存問題探討在進行項目功能升級時,常常會遇到部分用戶未能成功升級的情況,尤其是在企�...

公司安全軟件導致應用無法運行?如何排查和解決? 公司安全軟件導致應用無法運行?如何排查和解決? Apr 19, 2025 pm 04:51 PM

公司安全軟件導致部分應用無法正常運行的排查與解決方法許多公司為了保障內部網絡安全,會部署安全軟件。 ...

H5和小程序如何選擇 H5和小程序如何選擇 Apr 06, 2025 am 10:51 AM

H5和小程序的選擇取決於需求。對於跨平台、快速開發和高擴展性的應用,選擇H5;對於原生體驗、豐富功能和平台依附性的應用,選擇小程序。

幣安虛擬幣怎麼買進賣出詳細教程 幣安虛擬幣怎麼買進賣出詳細教程 Mar 18, 2025 pm 01:36 PM

本文提供2025年更新的幣安虛擬貨幣買賣簡明指南,詳細講解了在幣安平台上進行虛擬貨幣交易的操作步驟。指南涵蓋了法幣購買USDT、幣幣交易購買其他幣種(如BTC)以及賣出操作,包括市價交易和限價交易兩種方式。 此外,指南還特別提示了法幣交易的支付安全和網絡選擇等關鍵風險,幫助用戶安全、高效地進行幣安交易。 通過本文,您可以快速掌握在幣安平台上買賣虛擬貨幣的技巧,降低交易風險。

See all articles