本文為大家分享了php獲取微信基礎接口憑證Access_token的具體代碼,供大家參考,具體內容如下
access_token是公眾號的全局唯一票據,公眾號調用各接口時都需使用access_token。開發(fā)者需要進行妥善保存。access_token的有效期目前為2個小時,需定時刷新,重復獲取將導致上次獲取的access_token失效。
使用AppID和AppSecret調用本接口來獲取access_token。AppID和AppSecret可在微信公眾平臺官網-開發(fā)者中心頁中獲得。
1. 構造一個請求函數
//設置網絡請求配置 public function _request($curl,$https=true,$method='GET',$data=null){ // 創(chuàng)建一個新cURL資源 $ch = curl_init(); // 設置URL和相應的選項 curl_setopt($ch, CURLOPT_URL, $curl); //要訪問的網站 //啟用時會將頭文件的信息作為數據流輸出。 curl_setopt($ch, CURLOPT_HEADER, false); //將curl_exec()獲取的信息以字符串返回,而不是直接輸出。 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); if($https){ //FALSE 禁止 cURL 驗證對等證書(peer's certificate)。 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); //驗證主機 } if($method == 'POST'){ curl_setopt($ch, CURLOPT_POST, true); //發(fā)送 POST 請求 //全部數據使用HTTP協議中的 "POST" 操作來發(fā)送。 curl_setopt($ch, CURLOPT_POSTFIELDS, $data); } // 抓取URL并把它傳遞給瀏覽器 $content = curl_exec($ch); //關閉cURL資源,并且釋放系統資源 curl_close($ch); return $content; }
2.獲取票據并保存
//獲取令牌[access_token] public function _getAccessToken(){ //指定保存文件位置 if(!is_dir('./access_token/')){ mkdir(iconv("UTF-8", "GBK", './access_token/'),0777,true); } $file = './access_token/token'; if(file_exists($file)){ $content = file_get_contents($file); $cont = json_decode($content); if( (time()-filemtime($file)) < $cont->expires_in){ //當前時間-文件創(chuàng)建時間<token過期時間 return $cont->access_token; } } $curl = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$this->_appid.'&secret='.$this->_appsecret; $content = $this->_request($curl); file_put_contents($file,$content); $cont = json_decode($content); return $cont->access_token; }
*出于安全考慮的話,獲取到的票據可以先編碼或加密再保存,使用的時候進行解碼解密再使用!
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。