php獲取微信基礎接口憑證Access_token

php獲取微信基礎接口憑證Access_token的具體代碼,供你們參考,具體內容以下php

access_token是公衆號的全局惟一票據,公衆號調用各接口時都需使用access_token。開發者須要進行妥善保存。access_token的有效期目前爲2個小時,需定時刷新,重複獲取將致使上次獲取的access_token失效。json

使用AppID和AppSecret調用本接口來獲取access_token。AppID和AppSecret可在微信公衆平臺官網-開發者中心頁中得到。api

1. 構造一個請求函數瀏覽器

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//設置網絡請求配置
public function _request( $curl , $https =true, $method = 'GET' , $data =null){
  // 建立一個新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); //發送 POST 請求
   //所有數據使用HTTP協議中的 "POST" 操做來發送。
  curl_setopt( $ch , CURLOPT_POSTFIELDS, $data );
  }
  
  
  // 抓取URL並把它傳遞給瀏覽器
  $content = curl_exec( $ch );
  
  //關閉cURL資源,而且釋放系統資源
  curl_close( $ch );
  
  return $content ;
}

2.獲取票據並保存安全

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//獲取令牌[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){
   //當前時間-文件建立時間<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;
  
}

*出於安全考慮的話,獲取到的票據能夠先編碼或加密再保存,使用的時候進行解碼解密再使用!微信

以上就是本文的所有內容網絡

相關文章
相關標籤/搜索