摘要:所以,量大的請求,不能每次發(fā)起請求都調用一次接口,次很快就請求完了,次用完了就沒有新的用了,所以不能每發(fā)起一次請求都生成一個的,如果這樣做,就造成不良后果。
Access_Token是調用微信和小程序各種接口的臨時憑證,有效期2小時(7200秒),很多接口都需要調用access_token接口生成一個access_token的,例如微信支付,微信分享,公眾號的開發(fā),獲取openid,獲取用戶的基本信息,群發(fā)接口,還有網頁授權等各類接口都是需要access_token的,而且每天最多只能調用2000次。
所以,量大的請求,不能每次發(fā)起請求都調用一次接口,2000次很快就請求完了,2000次用完了就沒有新的access_token用了,所以不能每發(fā)起一次請求都生成一個access_token的,如果這樣做,就造成不良后果。我們可以通過緩存的方法,把access_token緩存到本地或者內存中,在項目中取緩存中的access_token來調用。
因為一個access_token在2小時內都可以隨便調用,沒有調用次數(shù)的,而2小時后過期了,只能請求access_token生成接口,生成新的access_token,這時候新的access_token,我們可以緩存到本地或者內存,然后記錄當前的時間戳,等到下次項目中需要用access_token的時候,先判斷當前時間和緩存的access_token的時間差是否超過2小時,如果超過了,就調用access_token生成接口生成新的access_token,如果沒有超時,那就使用緩存中的access_token。
$result["expires"]){ ????????$data = array(); ????????$data["access_token"] = getNewToken($appid,$appsecret); ????????$data["expires"]=time()+7000; ????????$jsonStr =? json_encode($data); ????????$fp = fopen("access_token.json", "w"); ????????fwrite($fp, $jsonStr); ????????fclose($fp); ????????return $data["access_token"]; ????}else{ ????????return $result["access_token"]; ????} } ? //獲取新的access_token function getNewToken($appid,$appsecret){ ????$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$appsecret}"; ????$access_token_Arr =? https_request($url); ????return $access_token_Arr["access_token"]; } ? //向獲取access_token接口發(fā)起請求 function https_request ($url){ ????????$ch = curl_init(); ????????curl_setopt($ch, CURLOPT_URL, $url); ????????curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); ????????curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); ????????$out = curl_exec($ch); ????????curl_close($ch); ????????return? json_decode($out,true); } ? //調用函數(shù) getToken(); ? //輸出當前緩存文件有效期內的access_token $jsondata = file_get_contents("access_token.json"); $access_token_data = json_decode($jsondata); echo $access_token_data->access_token; ?>
生成的本地緩存文件為
access_token.json
格式如下
{ ??"access_token":"16_tTsgZ08Mf13NHsO8XT19faWwQVXKuBzLs3wElIyzGWMkcFLrSCBCKpXRd8dKuPC-A32fSJPIwKx4smzOgraV8U-2qzic6UIchBqk_LqmLPwDmPj4luOf6YQor0GotWOBg1bPsB29KzZy0ChFGCVfAIACYR", ??"expires":1544866066 }
作者:TANKING
網站:http://likeyunba.com
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/29799.html
摘要:所以,量大的請求,不能每次發(fā)起請求都調用一次接口,次很快就請求完了,次用完了就沒有新的用了,所以不能每發(fā)起一次請求都生成一個的,如果這樣做,就造成不良后果。 Access_Token是調用微信和小程序各種接口的臨時憑證,有效期2小時(7200秒),很多接口都需要調用access_token接口生成一個access_token的,例如微信支付,微信分享,公眾號的開發(fā),獲取openid,獲...
摘要:微信小程序框架提供了一系列來幫助我們進行本地數(shù)據存儲,上面的代碼中使用到了和兩個更多相關可以參考這里方法很容易理解,會執(zhí)行獲取用戶信息的功能。 上一篇教程中寫道,開發(fā)工具會生成一個默認的程序框架,其中程序的主流程代碼包含在app.js中。默認實現(xiàn)中,該部分功能比較簡單,不過對于學研究小程序開發(fā)還是比較有價值的。 由于代碼行數(shù)不多,下面一次性貼出來后進行講解 //app.js App({...
摘要:源碼分析這個簡易計算器界面布局依然延續(xù)祖制,采用布局,貌似微信官方也是這么推薦的官方文檔中就是使用。本計算器存在不完善和,因為重點不是實現(xiàn)全部功能,而是搞清楚微信小程序開發(fā)方法,所以非關注點不用在意。 寫在前面,但是重點在后面 這是教程,也不是教程。 可以先看Demo的操作動圖,看看是個什么玩意兒,GitHub地址(https://github.com/dunizb/wxapp-sCa...
摘要:源碼分析這個簡易計算器界面布局依然延續(xù)祖制,采用布局,貌似微信官方也是這么推薦的官方文檔中就是使用。本計算器存在不完善和,因為重點不是實現(xiàn)全部功能,而是搞清楚微信小程序開發(fā)方法,所以非關注點不用在意。 寫在前面,但是重點在后面 這是教程,也不是教程。 可以先看Demo的操作動圖,看看是個什么玩意兒,GitHub地址(https://github.com/dunizb/wxapp-sCa...
摘要:源碼分析這個簡易計算器界面布局依然延續(xù)祖制,采用布局,貌似微信官方也是這么推薦的官方文檔中就是使用。本計算器存在不完善和,因為重點不是實現(xiàn)全部功能,而是搞清楚微信小程序開發(fā)方法,所以非關注點不用在意。 寫在前面,但是重點在后面 這是教程,也不是教程。 可以先看Demo的操作動圖,看看是個什么玩意兒,GitHub地址(https://github.com/dunizb/wxapp-sCa...
閱讀 1856·2023-04-25 14:28
閱讀 1892·2021-11-19 09:40
閱讀 2795·2021-11-17 09:33
閱讀 1385·2021-11-02 14:48
閱讀 1710·2019-08-29 16:36
閱讀 3333·2019-08-29 16:09
閱讀 2917·2019-08-29 14:17
閱讀 2378·2019-08-29 14:07