本篇文章給大家帶來的內容是關於php擷取token的代碼實現(),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所協助。
介面調用請求說明
https請求方式: GEThttps://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
參數說明
參數 |
是否必須 |
說明 |
grant_type |
是 |
擷取access_token填寫client_credential |
appid |
是 |
第三方使用者唯一憑證 |
secret |
是 |
第三方使用者唯一憑證密鑰,即appsecret |
返回說明
正常情況下,會返回下述JSON資料包給公眾號:
{"access_token":"ACCESS_TOKEN","expires_in":7200}
參數說明
參數 |
說明 |
access_token |
擷取到的憑證 |
expires_in |
憑證有效時間,單位:秒 |
以上是的公眾號擷取access_token文檔,本章簡單說下php擷取token的方法和要注意的地方
1.準備的參數需要公眾號的appid和secret這2個資訊,同時要注意的是secret更改後你儲存的也需要更改,所以不建議更改,儲存好即可。
2.需要設定白名單,可以根據伺服器的ip地址擷取,如果實在不知道的,也沒關係,因為你可以根據介面的報錯來知道自己的ip然後設定進去。
3.access_token每天調用的次數有效,沒記錯的話是2K次一天,但是一個token的有效期間的2小時,所以我們必須將一個token緩衝起來2小時,這樣才不會超過介面的調用次數。
<?php public function getAccessToken($appid,$secret){ $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$secret}"; $res = $this->curl_get($url); $res = json_decode($res,1); if($res['errcode']!=0) throw new Exception($res['errmsg']); return $res['access_token']; } public function curl_get($url) { $headers = array('User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36'); $oCurl = curl_init(); if(stripos($url,"https://")!==FALSE){ curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($oCurl, CURLOPT_SSLVERSION, 1); //CURL_SSLVERSION_TLSv1 } curl_setopt($oCurl, CURLOPT_TIMEOUT, 20); curl_setopt($oCurl, CURLOPT_URL, $url); curl_setopt($oCurl, CURLOPT_HTTPHEADER, $headers); curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1 ); $sContent = curl_exec($oCurl); $aStatus = curl_getinfo($oCurl); curl_close($oCurl); if(intval($aStatus["http_code"])==200){ return $sContent; }else{ return false; } }
以上就是php擷取token的代碼,相對來說難度比較低。