微信公衆號的access_token是有調用次數限制的,若是調用接口太頻繁訪問量太多,會報40001,invalid credential, access_token is invalid or not latest,因此php
要將access_token放到緩存,token的有效期是2小時,我這裏緩存1小時,若1小時過時,就從新請求微信獲取新的tokenapi
/** * 獲取access_token */ public function getWxAccessToken($appId,$appSecret){ $access_token = Cache::get('wx_access_token:'.$appId); if($access_token){ return createResult(200,'success',$access_token); }else{ //1.請求url地址 $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appId."&secret=".$appSecret; $res = $this->http_curl($url); if(isset($res['errcode']) && $res['errcode']!=0){ return createResult($res['errcode'],$res['errmsg']); } $access_token = $res['access_token']; Cache::tag('accessToken')->set('wx_access_token:'.$appId,$access_token,3600); return createResult(200,'success',$access_token); } }
更多php技術交流,可加Q羣:884743303,裏面各路大神爲您保駕護航,緩存