微信 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 相关文章推荐
模拟xcopy的函数
Oct 09 PHP
PHP小程序自动提交到自助友情连接
Nov 24 PHP
PHP性能优化工具篇Benchmark类调试执行时间
Dec 06 PHP
PHP下使用CURL方式POST数据至API接口的代码
Feb 14 PHP
一个简单的php加密解密函数(动态加密)
Jun 19 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
Jun 30 PHP
ThinkPHP实现批量删除数据的代码实例
Jul 02 PHP
PHP微信API接口类
Aug 22 PHP
Yii框架的路由配置方法分析
Sep 09 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
Oct 08 PHP
Laravel登录失败次数限制的实现方法
Aug 26 PHP
PHP dirname功能及原理实例解析
Oct 28 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读写文件的方法(生成HTML)
2006/11/27 PHP
15种PHP Encoder的比较
2007/04/17 PHP
在IIS7.0下面配置PHP 5.3.2运行环境的方法
2010/04/13 PHP
php更新修改excel中的内容实例代码
2014/02/26 PHP
WAMP环境中扩展oracle函数库(oci)
2015/06/26 PHP
拖动一个HTML元素
2006/12/22 Javascript
jQeury淡入淡出需要注意的问题
2010/09/08 Javascript
ExtJS4 Grid改变单元格背景颜色及Column render学习
2013/02/06 Javascript
js根据日期判断星座的示例代码
2014/01/23 Javascript
express的中间件bodyParser详解
2014/12/04 Javascript
JavaScript操作URL的相关内容集锦
2015/10/29 Javascript
Bootstrap每天必学之滚动监听
2016/03/16 Javascript
Laravel中常见的错误与解决方法小结
2016/08/30 Javascript
js中apply和Math.max()函数的问题及区别介绍
2018/03/27 Javascript
Swiper 4.x 使用方法(移动端网站的内容触摸滑动)
2018/05/17 Javascript
jQuery中常用动画效果函数知识点整理
2018/08/19 jQuery
vue 弹框产生的滚动穿透问题的解决
2018/09/21 Javascript
微信小程序页面缩放式侧滑效果的实现代码
2018/11/15 Javascript
微信小程序webview实现长按点击识别二维码功能示例
2019/01/24 Javascript
nodejs实现聊天机器人功能
2019/09/19 NodeJs
Node.js API详解之 readline模块用法详解
2020/05/22 Javascript
Vue中 axios delete请求参数操作
2020/08/25 Javascript
[49:07]VGJ.T vs Optic Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
Python的垃圾回收机制深入分析
2014/07/16 Python
Python简单实现enum功能的方法
2016/04/25 Python
python和pygame实现简单俄罗斯方块游戏
2021/02/19 Python
Python 离线工作环境搭建的方法步骤
2019/07/29 Python
python selenium爬取斗鱼所有直播房间信息过程详解
2019/08/09 Python
Windows下PyCharm2018.3.2 安装教程(图文详解)
2019/10/24 Python
Python unittest生成测试报告过程解析
2020/09/08 Python
英国休闲奢华的缩影:Crew Clothing
2019/05/05 全球购物
直接有效的自我评价
2014/01/11 职场文书
个人借款担保书
2014/04/02 职场文书
活动总结怎么写啊
2014/05/07 职场文书
基层党员对照检查材料
2014/08/25 职场文书
为什么代码规范要求SQL语句不要过多的join
2021/06/23 MySQL