首頁 微信小程式 微信開發 微信公眾號之網頁授權取得的實現步驟

微信公眾號之網頁授權取得的實現步驟

Apr 02, 2017 pm 04:08 PM

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

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

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

1 取得code

在確保微信公眾帳號擁有授權作用域(scope參數)的權限的前提下(服務號碼獲得高級介面後,預設擁有scope參數中的snsapi_base和snsapi_userinfo).

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

其中:

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

SCOPE - 值為snsapi_base(不彈出授權頁面,直接跳轉,只能取得使用者openid) 或snsapi_userinfo (彈出授權頁面,可透過openid拿到暱稱、性別、所在地。並且,即使在未關注的情況下,只要使用者授權,也能取得其資訊)

STATE - 開發者可以自訂填寫a-zA-Z0-9的參數值

2 透過code換取網頁授權access_token

如果使用者同意授權,頁面將跳轉至redirect_uri/?code=CODE&state=STATE。作後續的取得access_token。的code

grant_type - 值為authorization_code

實作程式碼:

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

這裡access_token可以做

快取處理

,避免造成頻繁取得

實作程式碼,以TP框架為例:

<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後,也會一併回傳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協定)

access_token - 上述所取得的access_token

openid - 公用號碼唯一識別

<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>
登入後複製

以上是微信公眾號之網頁授權取得的實現步驟的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡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)

熱門話題

Java教學
1664
14
CakePHP 教程
1421
52
Laravel 教程
1315
25
PHP教程
1266
29
C# 教程
1239
24
Scrapy實現微信公眾號文章爬取與分析 Scrapy實現微信公眾號文章爬取與分析 Jun 22, 2023 am 09:41 AM

Scrapy實現微信公眾號文章爬取和分析微信是近年來備受歡迎的社群媒體應用,在其中運作的公眾號也扮演著非常重要的角色。眾所周知,微信公眾號是一個資訊和知識的海洋,因為其中每個公眾號都可以發布文章、圖文訊息等資訊。這些資訊可以被廣泛地應用在許多領域中,例如媒體報道、學術研究等。那麼,本篇文章將介紹如何使用Scrapy框架來實現微信公眾號文章的爬取與分析。 Scr

微信公眾號認證和不認證有哪些差別 微信公眾號認證和不認證有哪些差別 Sep 19, 2023 pm 02:15 PM

微信公眾號認證和不認證的差異在認證識別、功能權限、推播頻率、介面權限和使用者信任度等方面。詳細介紹:1、認證標識,認證公眾號會獲得官方頒發的認證標識,即藍色V標誌,這個標誌可以增加公眾號的可信度和權威性,讓用戶更容易辨別真實的官方公眾號; 2、功能權限,認證公眾號相比未認證的公眾號擁有更多的功能和權限,例如認證公眾號可以申請開通微信支付功能,實現在線支付和商業化運營等等。

Python中的爬蟲實戰:微信公眾號爬蟲 Python中的爬蟲實戰:微信公眾號爬蟲 Jun 10, 2023 am 09:01 AM

Python是一種優雅的程式語言,具有強大的資料處理和網路爬蟲功能。在這個數位時代,網路上充滿了大量的數據,爬蟲已成為獲取數據的重要手段,因此,Python爬蟲在數據分析和挖掘方面有著廣泛的應用。在本文中,我們將介紹如何使用Python爬蟲來取得微信公眾號文章資訊。微信公眾號是一種流行的社交媒體平台,用於線上發布文章,是許多公司和自媒體推廣和行銷的重要工

用PHP建構一個微信公眾號API介面 用PHP建構一個微信公眾號API介面 May 13, 2023 pm 12:01 PM

在當今網路時代,微信公眾號成為了越來越多企業的重要行銷管道。想要自己的微信公眾號實現更多的功能,常常需要寫對應的介面。本文將以PHP語言為例,介紹如何建構一個微信公眾號API介面。一、前置準備在編寫微信公眾號API介面之前,需要開發者擁有一個微信公眾號的帳號,並且在微信公眾平台中申請開發者介面權限。申請成功後,可以取得相關的開發者AppID和AppSe

如何使用Laravel開發一個基於微信公眾號的線上點餐系統 如何使用Laravel開發一個基於微信公眾號的線上點餐系統 Nov 02, 2023 am 09:42 AM

如何使用Laravel開發一個基於微信公眾號的線上點餐系統隨著微信公眾號的廣泛應用,越來越多的企業開始將其作為線上行銷的重要管道。在餐飲業中,開發一個基於微信公眾號的線上點餐系統能夠提高企業的效率和銷售額。本文將介紹如何使用Laravel框架來開發一個這樣的系統,並提供具體的程式碼範例。專案準備首先,需要確保已經在本地環境中安裝了Laravel框架。可以通

公眾號每天只能發一篇文章嗎 公眾號每天只能發一篇文章嗎 Jun 16, 2023 pm 02:04 PM

公眾號每天不是只能發一篇文章,每次最多可以發表八篇文章,多篇文章的發布方法:1、點擊左側的“素材管理”,再點擊“新建圖文素材”開始編輯第一篇文章;2、編輯完第一篇文章之後,點選左側第一篇文章下面的+號,點選「圖文訊息」即可編輯第二篇文章;3、做完多圖文後,點選「保管並群發」即可完成多篇文章的發布。

使用Go語言框架建構微信公眾號應用 使用Go語言框架建構微信公眾號應用 Jun 04, 2023 am 10:40 AM

隨著網路的普及和行動裝置的廣泛使用,微信公眾號已經成為了企業行銷不可或缺的一部分。透過微信公眾號,企業可以實現輕鬆地與用戶互動,推廣產品和服務,提高品牌知名度。為了更好地開發微信公眾號應用,越來越多的開發者和企業選擇使用Go語言來建立微信公眾號應用程式。 Go語言是一種由Google開發的程式語言,它的語法簡潔,適合建立高效能、高並發的即時應用程式。在簡單易用和

PHP與微信公眾號開髮指南 PHP與微信公眾號開髮指南 Jun 11, 2023 pm 03:31 PM

隨著微信公眾號在社群網路中的逐漸普及,越來越多的開發者開始涉足微信公眾號開發領域。在這其中,PHP作為一種常見的後端程式語言,也開始被廣泛應用於微信公眾號的開發。本文將介紹PHP在微信公眾號發展上的基礎知識與常用技巧。一、PHP與微信公眾號開發基礎微信公眾號開發微信公眾號是指一種基於微信平台的互聯網應用程序,可以為用戶提供不同類型的服務和內容,如信息推送

See all articles