微信 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中根据变量的类型 选择echo或dump
Jul 05 PHP
PHP之短标签开启设置
Jun 17 PHP
CodeIgniter生成网站sitemap地图的方法
Nov 13 PHP
php使用$_POST或$_SESSION[]向js函数传参
Sep 16 PHP
PHP获取当前所在目录位置的方法
Nov 26 PHP
php递归调用删除数组空值元素的方法
Apr 28 PHP
PHP中static关键字以及与self关键字的区别
Jul 01 PHP
我整理的PHP 7.0主要新特性
Jan 07 PHP
php生成图片缩略图功能示例
Feb 22 PHP
PHP定义字符串的四种方式详解
Feb 06 PHP
PHP ADODB生成HTML表格函数rs2html功能【附错误处理函数用法】
May 29 PHP
php数组遍历类与用法示例
May 24 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
Base64在线编码解码实现代码 演示与下载
2011/01/08 PHP
PHP通过加锁实现并发情况下抢码功能
2016/08/10 PHP
PHP中的use关键字及文件的加载详解
2016/11/28 PHP
用js实现手把手教你月入万刀(转贴)
2007/11/07 Javascript
javawscript 三级菜单的实现原理
2009/07/01 Javascript
jquery获取table中的某行全部td的内容方法
2013/03/08 Javascript
Node调试工具JSHint的安装及配置教程
2014/05/27 Javascript
jquery实现九宫格大转盘抽奖
2015/11/13 Javascript
关于JavaScript作用域你想知道的一切
2016/02/04 Javascript
JavaScript的ExtJS框架中数面板TreePanel的使用实例解析
2016/05/21 Javascript
vue-cli配置文件——config篇
2018/01/04 Javascript
解决使用Vue.js显示数据的时,页面闪现原始代码的问题
2018/02/11 Javascript
webpack-url-loader 解决项目中图片打包路径问题
2019/02/15 Javascript
关于vue利用postcss-pxtorem进行移动端适配的问题
2019/11/20 Javascript
功能完善的小程序日历组件的实现
2020/03/31 Javascript
微信小程序实现时间戳格式转换
2020/07/20 Javascript
openlayers 3实现车辆轨迹回放
2020/09/24 Javascript
[54:25]Ti4 循环赛第三日LGD vs MOUZ
2014/07/12 DOTA
python开发之文件操作用法实例
2015/11/13 Python
Python中list初始化方法示例
2016/09/18 Python
Python numpy实现二维数组和一维数组拼接的方法
2018/06/05 Python
python 利用pywifi模块实现连接网络破解wifi密码实时监控网络
2019/09/16 Python
python3 实现函数写文件路径的正确方法
2019/11/27 Python
Python 余弦相似度与皮尔逊相关系数 计算实例
2019/12/23 Python
python 录制系统声音的示例
2020/12/21 Python
python自动打开浏览器下载zip并提取内容写入excel
2021/01/04 Python
python FTP编程基础入门
2021/02/27 Python
Sneaker Studio罗马尼亚网站:购买运动鞋
2018/11/04 全球购物
linux面试题参考答案(9)
2016/01/29 面试题
保护母亲河倡议书
2014/04/14 职场文书
《槐乡五月》教学反思
2014/04/25 职场文书
校庆团日活动总结
2014/08/28 职场文书
法英专业大学生职业生涯规划书范文
2014/09/22 职场文书
搞笑婚庆主持词
2015/06/29 职场文书
早上好问候语大全
2015/11/10 职场文书
Vue.js中v-for指令的用法介绍
2022/03/13 Vue.js