首頁  >  文章  >  後端開發  >  php取得token的程式碼實作(微信)

php取得token的程式碼實作(微信)

不言
不言原創
2018-08-20 15:31:275801瀏覽

這篇文章帶給大家的內容是關於php取得token的程式碼實作(微信),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

介面呼叫請求說明

https请求方式: GET
https://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}

參數說明

取得到的憑證expires_in憑證有效時間,單位:秒
參數 說明
access_token

以上是微信的公眾號獲取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[&#39;errcode&#39;]!=0) throw new Exception($res[&#39;errmsg&#39;]);
        return $res[&#39;access_token&#39;];
    }
 public function curl_get($url) {
         $headers = array(&#39;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&#39;);
        $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的程式碼,相對來說難度比較低。

相關推薦:

微信小程式 取得微信OpenId詳解及實例程式碼

php取得伺服器資訊的實作程式碼

###

以上是php取得token的程式碼實作(微信)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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