微信 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 相关文章推荐
APMServ使用说明
Oct 23 PHP
php学习之 认清变量的作用范围
Jan 26 PHP
如何使用Linux的Crontab定时执行PHP脚本的方法
Dec 19 PHP
PHP设计模式之迭代器模式的深入解析
Jun 13 PHP
thinkphp的c方法使用示例
Feb 24 PHP
php实现俄罗斯乘法实例
Mar 07 PHP
PHP基于MySQL数据库实现对象持久层的方法
Jun 17 PHP
浅谈PHP错误类型及屏蔽方法
May 27 PHP
thinkPHP5框架自定义验证器实现方法分析
Jun 11 PHP
PHP PDOStatement::setAttribute讲解
Feb 01 PHP
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
Apr 27 PHP
ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例
Aug 05 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
php判断字符串在另一个字符串位置的方法
2014/02/27 PHP
ThinkPHP发送邮件示例代码
2016/10/08 PHP
php实现微信企业号支付个人的方法详解
2017/07/26 PHP
JS实现时间格式化的方式汇总
2013/10/16 Javascript
当某个文本框成为焦点时即清除文本框内容
2014/04/28 Javascript
nodejs中实现路由功能
2014/12/29 NodeJs
js实现简单锁屏功能实例
2015/05/27 Javascript
解析Node.js基于模块和包的代码部署方式
2016/02/16 Javascript
判断输入的字符串是否是日期格式的简单方法
2016/07/11 Javascript
JS实现的模仿QQ头像资料卡显示与隐藏效果
2017/04/07 Javascript
Vue生命周期示例详解
2017/04/12 Javascript
详解使用 Node.js 开发简单的脚手架工具
2018/06/08 Javascript
小程序图片剪裁加旋转的示例代码
2018/07/10 Javascript
Vue项目History模式404问题解决方法
2018/10/31 Javascript
JavaScript面向对象程序设计中对象的定义和继承详解
2019/07/29 Javascript
[56:46]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 VP vs Effect
2018/04/01 DOTA
使用Python获取CPU、内存和硬盘等windowns系统信息的2个例子
2014/04/15 Python
Python fileinput模块使用介绍
2014/11/30 Python
Phantomjs抓取渲染JS后的网页(Python代码)
2016/05/13 Python
python+django快速实现文件上传
2016/10/24 Python
python实现对excel进行数据剔除操作实例
2017/12/07 Python
Django 实现下载文件功能的示例
2018/03/06 Python
python 监听salt job状态,并任务数据推送到redis中的方法
2019/01/14 Python
Python+Selenium使用Page Object实现页面自动化测试
2019/07/14 Python
Python安装selenium包详细过程
2019/07/23 Python
python中栈的原理及实现方法示例
2019/11/27 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
2020/01/13 Python
使用Keras预训练模型ResNet50进行图像分类方式
2020/05/23 Python
Python改变对象的字符串显示的方法
2020/08/01 Python
YesBabyOnline美国:全球性的在线婚纱礼服工厂
2018/05/05 全球购物
澳大利亚天然护肤品、化妆品和健康产品一站式商店:Nourished Life
2018/12/02 全球购物
施华洛世奇新加坡官网:SWAROVSKI新加坡
2020/10/06 全球购物
大学生四年生活自我鉴定
2013/11/21 职场文书
大学国际贸易专业自荐信
2014/06/05 职场文书
大学生工作自荐书
2014/06/16 职场文书
瘦西湖导游词
2015/02/03 职场文书