首頁  >  文章  >  微信小程式  >  微信公眾平台開發-ACCESS TOKEN

微信公眾平台開發-ACCESS TOKEN

高洛峰
高洛峰原創
2017-02-28 10:14:582244瀏覽

 本文介紹微信公眾平台下Access Token的概念及取得方法。

一、Access Token

access_token是公眾號的全域唯一票據,公眾號呼叫各介面時都需使用access_token。正常情況下access_token有效期限為7200秒,重複取得將導致上次取得的access_token失效。

公眾號可以使用AppID和AppSecret呼叫本介面來取得access_token。 AppID和AppSecret可在開發模式中取得(需要已成為開發者,且帳號沒有異常狀態)。 注意呼叫所有微信介面時均需使用https協定。

介面呼叫請求說明

http请求方式: GET
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

#參數說明

##是第三方使用者唯一憑證金鑰,既appsecret
參數 是否必須 說明
grant_type 取得access_token填入client_credential
appid 第三方用戶唯一憑證
secret

回傳說明

正常情況下,微信會回傳下述JSON資料包給公眾號碼:

{"access_token":"ACCESS_TOKEN","expires_in":7200}

參數#說明##access_token

取得的憑證微信公众平台开发-ACCESS TOKEN

expires_in

憑證有效時間,單位:秒

微信公众平台开发-ACCESS TOKEN

##錯誤時微信會傳回錯誤碼等訊息,JSON封包範例如下(此範例為AppID無效錯誤):

{"errcode":40013,"errmsg":"invalid appid"}

 

二、AppId和AppSecret

在微信後台使用找到進階功能-開發模式

 

成為開發者之後,就可以看到appid和appsecert了



 

如果沒有url和Token , 你可以先用方倍工作室的下面的測試通過URL:   http://discuz.comli.com/test.php
$appid = "";
$appsecret = "";
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
$jsoninfo = json_decode($output, true);
$access_token = $jsoninfo["access_token"];
#access_token
Token:  weixin 

三、取得Access Token

程式實作如下
你也可以直接在瀏覽器網址列中,拼接出位址,執行後,取得如下資料

{"access_token":"N2L7KXa084WvelONYjkJ_traBMCCvy_UKmpUUzlrQ0EA2yNp3Iz6eSUrRG0bhaR_viswd50vDuPkY5nG43d1gbm-olT2KRMxOsVE08RfeD9lvK9lMguNG9kpIkKGZEjIf8Jv2m9fFhf8bnNa-yQH3g","expires_in":7200}
參數說明如下

參數

說明

##################access_token########## ##取得到的憑證##################expires_in############憑證有效時間,單位:秒###### ##########


或使用官方的介面偵錯工具,位址為:

使用網頁偵錯工具偵錯自訂選單介面 

微信公众平台开发-ACCESS TOKEN

點選檢查問題得,得到

微信公众平台开发-ACCESS TOKEN

這樣也獲得了access token


附:全域回傳碼說明

公眾號每次呼叫接口時,可能獲得正確或錯誤的回傳碼,開發者可以根據回傳碼資訊偵錯接口,排查錯誤。

全域回傳碼說明如下:

###0請求成功40001取得access_token時AppSecret錯誤,或access_token無效40002不合法的憑證類型#40003不合法的OpenID #40004不合法的媒體檔案類型40005不合法的檔案類型## 40006不合法的檔案大小40007不合法的媒體檔案id#40008 不合法的訊息類型40009不合法的圖片檔案大小40010不合法的語音檔案大小40011不合法的視訊檔案大小40012不合法的縮圖檔案大小40013不合法的APPID##40016不合法的按鈕個數40017不合法的按鈕數量400184001940020400214002240023##40024不合法的子選單按鈕類型40025不合法的子選單按鈕名字長度 40026不合法的子選單按鈕KEY長度#40027不合法的子選單按鈕URL長度#40028不合法的自訂選單使用使用者#40029不合法的oauth_code#40030不合法的refresh_token#40031不合法的openid清單# #40032不合法的openid列表長度#40033不合法的請求字符,不能包含\uxxxx格式的字元40035不合法的參數#40038不合法的請求格式#40039不合法的URL長度#40050不合法的分組id#40051分組名稱不合法41001#缺少access_token參數#41002缺少appid參數41003#缺少refresh_token參數41004缺少secret參數41005缺少多媒體檔案資料41006##缺少media_id參數缺少子選單資料缺少oauth code缺少openidaccess_token逾時refresh_token逾時oauth_code逾時需要GET請求需要POST請求需要HTTPS請求需要接收者追蹤需要好友關係多媒體檔案為空白POST的封包為空圖文訊息內容為空#文字訊息內容為空多媒體檔案大小超過限制#訊息內容超過限制#標題欄位超過限制描述欄位超過限制連結欄位超過限制圖片連結欄位超過限制語音播放時間超過限制圖文訊息超過限制介面呼叫超過限制建立選單數量超過限制回覆時間超過限制
傳回碼 說明
#-1 系統繁忙
##40014 不合法的access_token
40015 不合法的選單類型
不合法的按鈕名字長度
不合法的按鈕KEY長度
#不合法的按鈕URL長度
不合法的選單版本號碼
不合法的子選單級數
不合法的子選單按鈕數量
41007
#41008
#41009
42001
42002
42003
43001
43002
#43003
#43004
#43005
#44001
44002
44003
44004
45001
45002
45003
45004
45005
45006
45007
45008
#45009
#45010
#45015
## #####45016######系統分組,不允許修改#############45017######分組名稱過長######################################################### ###45018######分組數量超過上限############46001#######不存在媒體資料#############46002 ######不存在的選單版本############46003######不存在的選單資料###########46004## ####不存在的使用者############47001######解析JSON/XML內容錯誤###########48001#### ##api功能未授權############50001######使用者未授權該api############

 


附:接口频率限制说明

公众号调用接口并不是无限制的。为了防止公众号的程序错误而引发微信服务器负载异常,默认情况下,每个公众号调用接口都不能超过一定限制,当超过一定限制时,调用对应接口会收到如下错误返回码:

{"errcode":45009,"errmsg":"api freq out of limit"}

各接口调用频率限制如下:

接口 每日限额
获取access_token 2000
自定义菜单创建 1000
自定义菜单查询 10000
自定义菜单删除 1000
创建分组 1000
获取分组 1000
修改分组名 1000
移动用户分组 100000
上传多媒体文件 5000
下载多媒体文件 10000
发送客服消息 500000
获取带参数的二维码 10000
获取关注者列表 500
获取用户基本信息 5000000
获取网页授权access_token 2000000
刷新网页授权access_token 2000000
网页授权获取用户信息 2000000


更多微信公众平台开发-ACCESS TOKEN 相关文章请关注PHP中文网!


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