微信公衆號開發——獲取access_token(PHP版)

access_token是調用微信接口的惟一憑據,每兩小時刷新一次,咱們須要每兩小時就獲取一次access_token。php

<?php
class TokenUtil {
    //獲取access_token並保存到token.txt文件中
    public static function build_access_token(){
        $ch = curl_init(); //初始化一個CURL對象
        curl_setopt($ch, CURLOPT_URL, "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx2e9f8435ebdb2856&secret=288db114f02b2b5cdc249ca75a4bf1cc");//設置你所須要抓取的URL
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//設置curl參數,要求結果是否輸出到屏幕上,爲true的時候是不返回到網頁中,假設上面的0換成1的話,那麼接下來的$data就須要echo一下。
        $data = json_decode(curl_exec($ch));
        if($data->access_token){
            $token_file = fopen("token.txt","w") or die("Unable to open file!");//打開token.txt文件,沒有會新建
            fwrite($token_file,$data->access_token);//重寫tken.txt所有內容
            fclose($token_file);//關閉文件流
        }else{
            echo $data->errmsg;
        }
        curl_close($ch);
    }
    
    //設置定時器,每兩小時執行一次build_access_token()函數獲取一次access_token
    public static function set_interval(){
        ignore_user_abort();//關閉瀏覽器仍然執行
        set_time_limit(0);//讓程序一直執行下去
        $interval = 7200;//每隔必定時間運行
        do{
            build_access_token();
            sleep($interval);//等待時間,進行下一次操做。
        }while(true);
    }
    
    //讀取token
    public static function read_token(){
        $token_file = fopen("token.txt", "r") or die("Unable to open file!");
        $rs = fgets($token_file);
        fclose($token_file);
        return $rs;
    }
}
?>
相關文章
相關標籤/搜索