tp5+微信公众号access_token次数限制的坑,报错40001

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

相关文章
相关标签/搜索