微信 getAccessToken方法详解及实例


Posted in PHP onNovember 23, 2016

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 相关文章推荐
php基础知识:类与对象(3) 构造函数和析构函数
Dec 13 PHP
php自定义函数call_user_func和call_user_func_array详解
Jul 14 PHP
Win下如何安装PHP的APC拓展
Aug 07 PHP
PHP登陆后跳转到登陆前页面实现思路及代码
Jan 17 PHP
PHP和javascript常用正则表达式及用法实例
Jul 01 PHP
php实现与erlang的二进制通讯实例解析
Jul 23 PHP
PHP+MYSQL实现用户的增删改查
Mar 24 PHP
php提交post数组参数实例分析
Dec 17 PHP
php中namespace use用法实例分析
Jan 22 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
Mar 21 PHP
学习PHP的数组总结【经验】
May 05 PHP
PHP实现上传图片到 zimg 服务器
Oct 19 PHP
Yii核心验证器api详解
Nov 23 #PHP
[原创]php集成安装包wampserver修改密码后phpmyadmin无法登陆的解决方法
Nov 23 #PHP
php in_array() 检查数组中是否存在某个值详解
Nov 23 #PHP
php 数组处理函数extract详解及实例代码
Nov 23 #PHP
CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)
Nov 22 #PHP
php each 返回数组中当前的键值对并将数组指针向前移动一步实例
Nov 22 #PHP
CI框架中类的自动加载问题分析
Nov 21 #PHP
You might like
4.与数据库的连接
2006/10/09 PHP
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
2009/08/07 PHP
php xml常用函数的集合(比较详细)
2013/06/06 PHP
浅析PHP编程中10个最常见的错误
2014/08/08 PHP
php中array_unshift()修改数组key注意事项分析
2016/05/16 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
php swoole多进程/多线程用法示例【基于php7nts版】
2019/08/12 PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
2019/10/24 PHP
PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例
2019/12/31 PHP
在IE,Firefox,Safari,Chrome,Opera浏览器上调试javascript
2008/12/02 Javascript
基于jquery的一个OutlookBar类,动态创建导航条
2010/11/19 Javascript
jQuery.getScript加载同域JS的代码
2012/02/13 Javascript
Jquery实现控件的隐藏和显示实例
2014/02/08 Javascript
浅谈JavaScript数据类型
2015/03/03 Javascript
javascript实现五星评价代码(源码下载)
2015/08/11 Javascript
javascript中的3种继承实现方法
2016/01/27 Javascript
jQuery实现的简单分页示例
2016/06/01 Javascript
微信小程序 教程之WXML
2016/10/18 Javascript
基于javascript实现按圆形排列DIV元素(一)
2016/12/02 Javascript
bootstrap fileinput 上传插件的基础使用
2017/02/17 Javascript
JS实现图片转换成base64的各种应用场景实例分析
2018/06/22 Javascript
vue.js父子组件通信动态绑定的实例
2018/09/28 Javascript
js实现图片放大并跟随鼠标移动特效
2019/01/18 Javascript
Openlayers测量距离与面积的实现方法
2020/09/25 Javascript
swiperjs实现导航与tab页的联动
2020/12/13 Javascript
[02:17]2016国际邀请赛中国区预选赛VG战队领队采访
2016/06/26 DOTA
python支持断点续传的多线程下载示例
2014/01/16 Python
在Linux下调试Python代码的各种方法
2015/04/17 Python
解读Python编程中的命名空间与作用域
2015/10/16 Python
浅谈css3中calc在less编译时被计算的解决办法
2017/12/04 HTML / CSS
用HTML5制作烟火效果的教程
2015/05/12 HTML / CSS
Top Villas美国:豪华别墅出租和度假屋
2018/07/10 全球购物
机关中层领导干部群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
四风问题对照检查材料思想汇报
2014/10/07 职场文书
行政司机岗位职责
2015/04/10 职场文书
Golang实现可重入锁的示例代码
2022/05/25 Golang