php获取微信基础接口凭证Access_token


Posted in PHP onAugust 23, 2018

本文为大家分享了php获取微信基础接口凭证Access_token的具体代码,供大家参考,具体内容如下

access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。

使用AppID和AppSecret调用本接口来获取access_token。AppID和AppSecret可在微信公众平台官网-开发者中心页中获得。

1. 构造一个请求函数

//设置网络请求配置
public function _request($curl,$https=true,$method='GET',$data=null){
 // 创建一个新cURL资源
 $ch = curl_init();
 
 // 设置URL和相应的选项
 curl_setopt($ch, CURLOPT_URL, $curl);  //要访问的网站
 //启用时会将头文件的信息作为数据流输出。
 curl_setopt($ch, CURLOPT_HEADER, false);  
 //将curl_exec()获取的信息以字符串返回,而不是直接输出。
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  
 
 if($https){
 //FALSE 禁止 cURL 验证对等证书(peer's certificate)。
 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); //验证主机
 }
 if($method == 'POST'){
 curl_setopt($ch, CURLOPT_POST, true); //发送 POST 请求
  //全部数据使用HTTP协议中的 "POST" 操作来发送。
 curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
 }
 
 
 // 抓取URL并把它传递给浏览器
 $content = curl_exec($ch);
 
 //关闭cURL资源,并且释放系统资源
 curl_close($ch);
 
 return $content;
}

2.获取票据并保存

//获取令牌[access_token]
public function _getAccessToken(){
 
 //指定保存文件位置
 if(!is_dir('./access_token/')){
 mkdir(iconv("UTF-8", "GBK", './access_token/'),0777,true); 
 }
 $file = './access_token/token';
 if(file_exists($file)){
 $content = file_get_contents($file);
 $cont = json_decode($content);
 if( (time()-filemtime($file)) < $cont->expires_in){
  //当前时间-文件创建时间<token过期时间
  return $cont->access_token;
 }
 }
 
 $curl = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$this->_appid.'&secret='.$this->_appsecret;
 $content = $this->_request($curl);
 file_put_contents($file,$content);
 $cont = json_decode($content);
 return $cont->access_token;
 
}

*出于安全考虑的话,获取到的票据可以先编码或加密再保存,使用的时候进行解码解密再使用!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php设计模式小结
Feb 15 PHP
sae使用smarty模板的方法
Dec 17 PHP
PHP中读取照片exif信息的方法
Aug 20 PHP
php实现的zip文件内容比较类
Sep 24 PHP
PHP集成百度Ueditor 1.4.3
Nov 23 PHP
PHP正则验证Email的方法
Jun 15 PHP
PHP实现链式操作的核心思想
Jun 23 PHP
PHP防止刷新重复提交页面的示例代码
Nov 11 PHP
php图片上传类 附调用方法
May 15 PHP
php 的反射详解及示例代码
Aug 25 PHP
php使用PDO事务配合表格读取大量数据插入操作实现方法
Feb 16 PHP
基于PHP-FPM进程池探秘
Oct 17 PHP
php对微信支付回调处理的方法
Aug 23 #PHP
PHP封装的验证码工具类定义与用法示例
Aug 22 #PHP
Yii2语言国际化自动配置详解
Aug 22 #PHP
PHP实现负载均衡的加权轮询方法分析
Aug 22 #PHP
PHP实现负载均衡session共享redis缓存操作示例
Aug 22 #PHP
PHP封装的完整分页类示例
Aug 21 #PHP
php代码调试利器firephp安装与使用方法分析
Aug 21 #PHP
You might like
PHP+DBM的同学录程序(1)
2006/10/09 PHP
PHP实现图片简单上传
2006/10/09 PHP
PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
2014/06/12 PHP
PHP闭包函数详解
2016/02/13 PHP
PHP实现验证码校验功能
2017/11/16 PHP
Span元素的width属性无效果原因及解决方案
2010/01/15 Javascript
JavaScript 嵌套函数指向this对象错误的解决方法
2010/03/15 Javascript
如何获取网站icon有哪些可行的方法
2014/06/05 Javascript
node.js中的events.emitter.listeners方法使用说明
2014/12/10 Javascript
jQuery插件jPaginate实现无刷新分页
2015/05/04 Javascript
JavaScript+canvas实现七色板效果实例
2016/02/18 Javascript
jQuery对象的链式操作用法分析
2016/05/10 Javascript
用jQuery的AJax实现异步访问、异步加载
2016/11/02 Javascript
基于BootStrap的文本编辑器组件Summernote
2017/10/27 Javascript
小程序自定义组件实现城市选择功能
2018/07/18 Javascript
解决vue-cli项目打包出现空白页和路径错误的问题
2018/09/04 Javascript
在NodeJs中使用node-schedule增加定时器任务的方法
2020/06/08 NodeJs
node运行js获得输出的三种方式示例详解
2020/07/02 Javascript
本地文件上传到七牛云服务器示例(七牛云存储)
2014/01/11 Python
Python2.7读取PDF文件的方法示例
2017/07/13 Python
Python封装原理与实现方法详解
2018/08/28 Python
详解Python计算机视觉 图像扭曲(仿射扭曲)
2019/03/27 Python
python3实现小球转动抽奖小游戏
2020/04/15 Python
python django框架中使用FastDFS分布式文件系统的安装方法
2019/06/10 Python
Python使用Pandas读写Excel实例解析
2019/11/19 Python
Python利用全连接神经网络求解MNIST问题详解
2020/01/14 Python
Python‘==‘ 及 ‘is‘相关原理解析
2020/09/05 Python
详解用 python-docx 创建浮动图片
2021/01/24 Python
python中Pexpect的工作流程实例讲解
2021/03/02 Python
广告传媒专业应届生求职信
2014/03/01 职场文书
战略合作协议书范本
2014/04/18 职场文书
于丹论语心得观后感
2015/06/15 职场文书
爱国电影观后感
2015/06/19 职场文书
在K8s上部署Redis集群的方法步骤
2021/04/27 Redis
Python 实现绘制子图及子图刻度的变换等问题
2021/05/31 Python
python析构函数用法及注意事项
2021/06/22 Python