微信 getAccessToken方法详解及实例

5年以前  |  阅读数:554 次  |  编程语言:PHP 

memcache缓存存储用户信息7000秒


    <?php
    function getAccessToken($appid,$appsecret) 
    {
      $mem = new CacheMemcache();
      $acc = $mem->get('access_token_'.$appid);
      if (!$acc) 
      {
        $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid;=$appid&secret;=$appsecret";
        $result = https_request($url);
        $jsoninfo = json_decode($result, true);
        $access_token = $jsoninfo['access_token'];
        if ($access_token) 
        {
          $expire = time() + 7000;
          $mem = new CacheMemcache();
          $mem->set('access_token_'.$appid,$access_token,$expire);
        }
      }
      else 
      {
        $access_token = $acc;
      }
      return $access_token;
    }
    ?>

文件存储access_token


     function getAccessToken() {
      // access_token 应该全局存储与更新,以下代码以写入到文件中做示例
      $data = json_decode(file_get_contents("access_token.json"));
      if ($data->expire_time < time()) {
       $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid;=$this->appId&secret;=$this->appSecret";
       $res = json_decode($this->httpGet($url));
       $access_token = $res->access_token;
       if ($access_token) {
        $data->expire_time = time() + 7000;
        $data->access_token = $access_token;
        $fp = fopen("access_token.json", "w");
        fwrite($fp, json_encode($data));
        fclose($fp);
       }
      } else {
       $access_token = $data->access_token;
      }
      return $access_token;
     }


感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例