視頻號(hào)小店獲取AccessToken
獲取AccessToken
本接口應(yīng)在服務(wù)器端調(diào)用,詳細(xì)說(shuō)明參見(jiàn)服務(wù)端API。
獲取小店全局唯一后臺(tái)接口調(diào)用憑據(jù)(access_token)。調(diào)用絕大多數(shù)后臺(tái)接口時(shí)都需使用 access_token,開(kāi)發(fā)者需要進(jìn)行妥善保存。
接口調(diào)用請(qǐng)求說(shuō)明
GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
請(qǐng)求參數(shù)
屬性類(lèi)型默認(rèn)值必填說(shuō)明
grant_typestring是填寫(xiě) client_credential
appidstring是小店唯一憑證,即 小店ID,可在「視頻號(hào)小店 - 服務(wù)市場(chǎng) - 自研」頁(yè)中獲得。(需要已完成店鋪開(kāi)通,且?guī)ぬ?hào)沒(méi)有異常狀態(tài))
secretstring是小店唯一憑證密鑰,即 小店Secret,獲取方式同 小店ID
返回值
Object
返回的 JSON 數(shù)據(jù)包
屬性類(lèi)型說(shuō)明
access_tokenstring獲取到的憑證
expires_innumber憑證有效時(shí)間,單位:秒。目前是7200秒之內(nèi)的值。
errcodenumber錯(cuò)誤碼
errmsgstring錯(cuò)誤信息
errcode 的合法值
值說(shuō)明最低版本
-1系統(tǒng)繁忙,此時(shí)請(qǐng)開(kāi)發(fā)者稍候再試
0請(qǐng)求成功
40001AppSecret 錯(cuò)誤或者 AppSecret 不屬于這個(gè)小店,請(qǐng)開(kāi)發(fā)者確認(rèn) AppSecret 的正確性
40002請(qǐng)確保 grant_type 字段值為 client_credential
40013不合法的 AppID,請(qǐng)開(kāi)發(fā)者檢查 AppID 的正確性,避免異常字符,注意大小寫(xiě)
返回?cái)?shù)據(jù)示例
正常返回
{
"access_token": "ACCESS_TOKEN",
"expires_in": 7200
}
錯(cuò)誤時(shí)返回
{
"errcode": 40013,
"errmsg": "invalid appid"
}
access_token 的存儲(chǔ)與更新
access_token 的存儲(chǔ)至少要保留 512 個(gè)字符空間;
access_token 的有效期目前為 2 個(gè)小時(shí) ,需定時(shí)刷新,重復(fù)獲取將導(dǎo)致上次獲取的 access_token 失效;
建議開(kāi)發(fā)者使用中控服務(wù)器統(tǒng)一獲取和刷新 access_token,其他業(yè)務(wù)邏輯服務(wù)器所使用的 access_token 均來(lái)自于該中控服務(wù)器,不應(yīng)該各自去刷新,否則容易造成沖突,導(dǎo)致 access_token 覆蓋而影響業(yè)務(wù);
access_token 的有效期通過(guò)返回的 expires_in 來(lái)傳達(dá),目前是7200秒之內(nèi)的值,中控服務(wù)器需要根據(jù)這個(gè)有效時(shí)間提前去刷新。在刷新過(guò)程中,中控服務(wù)器可對(duì)外繼續(xù)輸出的老 access_token,此時(shí)公眾平臺(tái)后臺(tái)會(huì)保證在5分鐘內(nèi),新老 access_token 都可用,這保證了第三方業(yè)務(wù)的平滑過(guò)渡;
access_token 的有效時(shí)間可能會(huì)在未來(lái)有調(diào)整,所以中控服務(wù)器不僅需要內(nèi)部定時(shí)主動(dòng)刷新,還需要提供被動(dòng)刷新 access_token 的接口,這樣便于業(yè)務(wù)服務(wù)器在 API 調(diào)用獲知 access_token 已超時(shí)的情況下,可以觸發(fā) access_token 的刷新流程。