微信获取jsapi_ticket和access_token调取微信jsskd失败

利用thinkphp S方法缓存 access_token 和jsapi_ticket 会出现 confing失败,如果去掉缓存,就可以了,所以问题就出在了 缓存这块,代码如下, 希望大神指出问题所在 多谢多谢
其中代码中不管是 jsapi_ticket会调用 getAccessToken()方法,其他的如发送消息,上传下载微信服务器图片也会调用 getAccessToken()方法

    public function getAccessToken() //获取 access_token
    {
        if(S('access_token')){
            return S('access_token');
        }
        $url = "https://api.weixin.qq.com/cgi-bin/token";
        $data = array(
            'grant_type'=>'client_credential',
            'appid'=>$this->appid,
            'secret'=>$this->appsecret
        );
        $res = (array)$this->curlGet($url,$data);
        if($res['access_token']){
            S('access_token',$res['access_token'],$res['expires_in']-200);
            return  $res['access_token'];
        }
    }
    public function getJsApiTicket()//获取临时票据 用于前端jssdk调用
    {
        if(S('jsapi_ticket')){
            return S('jsapi_ticket');
        }
        $access_token = $this->getAccessToken();
        $url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket";
        $data = array(
            'access_token'=>$access_token,
            'type'=>'jsapi',
        );
        $res = (array)$this->curlGet($url,$data);
        if($res['errcode'] == 0){
            S('jsapi_ticket',$res['ticket'],$res['expires_in'] - 200);
            return $res['ticket'];
        }else{
            S('access_token',null);
            $this->getJsApiTicket();
        }
    }
阅读 4k
1 个回答

那楼主,你单独调用getAccessToken,把生成缓存和使用缓存的的都注释掉,把调用接口返回的结果打印出来看看。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题