微信公众号的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,里面各路大神为您保驾护航,缓存