最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php編寫(xiě)緩存微信access_token到本地腳本示例

 更新時(shí)間:2023年08月06日 11:05:07   作者:TANKING  
這篇文章主要為大家介紹了php編寫(xiě)緩存微信access_token到本地腳本示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

access_token存儲(chǔ)更新

access_token 的存儲(chǔ)至少要保留 512 個(gè)字符空間;

access_token 的有效期目前為 2 個(gè)小時(shí),需定時(shí)刷新,重復(fù)獲取將導(dǎo)致上次獲取的 access_token 失效,并且每天獲取的頻次有限,所以需要進(jìn)行本地緩存或者緩存到數(shù)據(jù)庫(kù)進(jìn)行使用,而不是每次調(diào)用接口都獲取access_token

獲取access_token并緩存到本地access_token.php文件封裝函數(shù)

<?php
// APPID
$APPID = 'xxx';
// APPSECRET
$APPSECRET = 'xxx';
// 緩存文件路徑
$TOKEN_FILE = 'access_token.php';
// 刷新 Access_Token 的函數(shù)
function refreshAccessToken($appid, $appsecret) {
    // 官方接口
    $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";
    // 發(fā)起請(qǐng)求
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    // 結(jié)果
    $response = curl_exec($ch);
    curl_close($ch);
    // 解析結(jié)果
    $data = json_decode($response, true);
    if (isset($data['access_token'])) {
        // 返回access_token
        return $data['access_token'];
    } else {
        // 解析失敗
        return false;
    }
}
// 從緩存文件中獲取 Access_Token 和過(guò)期時(shí)間戳
function getAccessTokenFromCache($tokenFile) {
    // 判斷緩存文件是否存在
    if (file_exists($tokenFile)) {
        // 如果緩存文件存在
        $tokenData = include($tokenFile);
        if ($tokenData && is_array($tokenData) && isset($tokenData['access_token']) && isset($tokenData['expires_at'])) {
            // 返回access_token
            return $tokenData;
        }
    }
}
// 更新緩存文件中的 Access_Token
function updateAccessTokenCache($tokenFile, $access_token, $expires_in) {
    // 提前一分鐘刷新
    $expires_at = time() + $expires_in - 60;
    // 生成緩存文件
    $tokenData = "<?php\nreturn array('access_token' => '$access_token', 'expires_at' => $expires_at);\n";
    file_put_contents($tokenFile, $tokenData);
}
// 獲取當(dāng)前時(shí)間
$current_time = time();
// 從緩存文件中獲取 Access_Token 和過(guò)期時(shí)間戳
$tokenData = getAccessTokenFromCache($TOKEN_FILE);
// 未過(guò)期
if ($tokenData && $tokenData['expires_at'] > $current_time) {
    // 使用緩存的 Access_Token
    $access_token = $tokenData['access_token'];
    // 輸出已緩存的access_token
    echo "緩存的Access_Token: $access_token\n";
} else {
    // 刷新 Access_Token
    $access_token = refreshAccessToken($APPID, $APPSECRET);
    // 獲取成功
    if ($access_token) {
        // 輸出新的access_token
        echo "新的Access_Token: $access_token\n";
        // 更新緩存文件
        updateAccessTokenCache($TOKEN_FILE, $access_token, 7200);
    } else {
        // 刷新失敗
        echo "Access_Token刷新失敗\n";
    }
}
?>

總結(jié)

在以上腳本中,加載這個(gè)腳本,會(huì)立刻讀取本地access_token.php文件,如果存在這個(gè)文件,就解析這個(gè)文件的內(nèi)容,讀取里面的access_token和過(guò)期時(shí)間,如果過(guò)期了,就直接調(diào)用請(qǐng)求接口獲取信的access_token并更新文件,如果沒(méi)有過(guò)期,直接使用access_token.php文件里面的access_token作為業(yè)務(wù)需要。

以上就是php編寫(xiě)緩存微信access_token到本地腳本示例的詳細(xì)內(nèi)容,更多關(guān)于php access_token微信緩存本地腳本的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Laravel學(xué)習(xí)教程之本地化模塊

    Laravel學(xué)習(xí)教程之本地化模塊

    這篇文章主要給大家介紹了關(guān)于Laravel學(xué)習(xí)教程之本地化模塊的相關(guān)資料,文中通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • Thinkphp 框架基礎(chǔ)之源碼獲取、環(huán)境要求與目錄結(jié)構(gòu)分析

    Thinkphp 框架基礎(chǔ)之源碼獲取、環(huán)境要求與目錄結(jié)構(gòu)分析

    這篇文章主要介紹了Thinkphp 框架基礎(chǔ)之源碼獲取、環(huán)境要求與目錄結(jié)構(gòu),簡(jiǎn)單分析了Thinkphp源碼的獲取方法、下載地址、安裝環(huán)境要求以及目錄結(jié)構(gòu),需要的朋友可以參考下
    2020-04-04
  • 淺談PHP array_search 和 in_array 函數(shù)效率問(wèn)題

    淺談PHP array_search 和 in_array 函數(shù)效率問(wèn)題

    這篇文章主要介紹了淺談PHP array_search 和 in_array 函數(shù)效率問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Yii2框架中使用PHPExcel導(dǎo)出Excel文件的示例

    Yii2框架中使用PHPExcel導(dǎo)出Excel文件的示例

    本篇文章主要介紹了Yii2框架中使用PHPExcel導(dǎo)出Excel文件的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • php刪除一個(gè)路徑下的所有文件夾和文件的方法

    php刪除一個(gè)路徑下的所有文件夾和文件的方法

    php遍歷一個(gè)文件夾內(nèi)的所有文件和文件夾,并刪除所有文件夾和子文件夾下的所有文件的代碼,通過(guò)遞歸方式實(shí)現(xiàn)達(dá)到清空一個(gè)目錄的效果。本文給大家分享實(shí)例代碼,需要的朋友參考下
    2018-02-02
  • ThinkPHP模板中數(shù)組循環(huán)實(shí)例

    ThinkPHP模板中數(shù)組循環(huán)實(shí)例

    這篇文章主要介紹了ThinkPHP模板中數(shù)組循環(huán),以實(shí)例形式展示了ThinkPHP采用foreach標(biāo)簽循環(huán)輸出數(shù)組的方法,需要的朋友可以參考下
    2014-10-10
  • laravel5實(shí)現(xiàn)微信第三方登錄功能

    laravel5實(shí)現(xiàn)微信第三方登錄功能

    這篇文章主要介紹了laravel5實(shí)現(xiàn)微信第三方登錄功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-12-12
  • php實(shí)現(xiàn)paypal 授權(quán)登錄

    php實(shí)現(xiàn)paypal 授權(quán)登錄

    本文給大家分享的是php實(shí)現(xiàn)的paypal授權(quán)登錄的代碼,十分的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。
    2015-05-05
  • php版微信自動(dòng)登錄并獲取昵稱的方法

    php版微信自動(dòng)登錄并獲取昵稱的方法

    這篇文章主要介紹了php版微信自動(dòng)登錄并獲取昵稱的方法,涉及php針對(duì)微信公眾平臺(tái)接口調(diào)用的相關(guān)操作技巧,需要的朋友可以參考下
    2016-09-09
  • Swoole4.4協(xié)程搶占式調(diào)度器詳解

    Swoole4.4協(xié)程搶占式調(diào)度器詳解

    這篇文章主要介紹了Swoole4.4協(xié)程搶占式調(diào)度器詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-05-05

最新評(píng)論

库车县| 罗江县| 崇左市| 屯留县| 丰县| 通州区| 黄陵县| 绍兴县| 合水县| 团风县| 新郑市| 呼伦贝尔市| 汉源县| 孝感市| 南投县| 岐山县| 略阳县| 平江县| 民县| 荣昌县| 泰来县| 邵阳市| 德庆县| 清新县| 太湖县| 积石山| 周口市| 鄂州市| 乌兰浩特市| 云安县| 湖北省| 比如县| 内丘县| 九寨沟县| 阿拉善左旗| 陇川县| 中宁县| 南丹县| 寿光市| 郸城县| 万州区|