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 相关文章推荐
IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置图文教程 2009年
Jun 08 PHP
php中根据某年第几天计算出日期年月日的代码
Feb 24 PHP
yii框架源码分析之创建controller代码
Jun 28 PHP
php中url传递中文字符,特殊危险字符的解决方法
Aug 17 PHP
PHP常用数组函数介绍
Jul 28 PHP
PHP往XML中添加节点的方法
Mar 12 PHP
php从完整文件路径中分离文件目录和文件名的方法
Mar 13 PHP
php入门教程之Zend Studio设置与开发实例
Sep 09 PHP
PHP convert_cyr_string()函数讲解
Feb 13 PHP
PHP实时统计中文字数和区别
Feb 28 PHP
php使用curl模拟多线程实现批处理功能示例
Jul 25 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
Feb 15 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实现的二叉树遍历算法示例
2017/06/15 PHP
JS仿flash上传头像效果实现代码
2011/07/18 Javascript
js给onclick事件赋值,动态传参数实例解说
2013/03/28 Javascript
jQuery判断checkbox(复选框)是否被选中以及全选、反选实现代码
2014/02/21 Javascript
javaScript使用EL表达式的几种方式
2014/05/27 Javascript
深入理解Javascript中this的作用域
2014/08/12 Javascript
js实现密码强度检测【附示例】
2016/03/30 Javascript
JS读写CSS样式的方法汇总
2016/08/16 Javascript
JavaScript利用Date实现简单的倒计时实例
2017/01/12 Javascript
在iFrame子页面里实现模态框的方法
2018/08/17 Javascript
VUE v-model表单数据双向绑定完整示例
2019/01/21 Javascript
javascript实现手动点赞效果
2019/04/09 Javascript
[41:41]TFT vs Secret Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
[58:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第一场 1月31日
2021/03/11 DOTA
python教程之用py2exe将PY文件转成EXE文件
2014/06/12 Python
Python实现的批量下载RFC文档
2015/03/10 Python
详解Python中break语句的用法
2015/05/14 Python
Python爬取网页中的图片(搜狗图片)详解
2017/03/23 Python
解决Django模板无法使用perms变量问题的方法
2017/09/10 Python
Pycharm 创建 Django admin 用户名和密码的实例
2018/05/30 Python
Django中使用 Closure Table 储存无限分级数据
2019/06/06 Python
mac在matplotlib中显示中文的操作方法
2020/03/06 Python
python删除某个目录文件夹的方法
2020/05/26 Python
html5录音功能实战示例
2019/03/25 HTML / CSS
Ted Baker英国官网:男士和女士服装及配件
2017/03/13 全球购物
Marc Jacobs官方网站:美国奢侈品牌
2017/08/29 全球购物
印度购物网站:TATA CLiQ
2017/11/23 全球购物
Myprotein法国官网:欧洲第一运动营养品牌
2019/03/26 全球购物
美国室内盆栽植物购买网站:Plants.com
2020/04/24 全球购物
广播体操口号
2014/06/18 职场文书
公司捐书倡议书
2015/04/27 职场文书
毕业生登记表班级意见
2015/06/05 职场文书
呼啸山庄读书笔记
2015/06/29 职场文书
母亲节主题班会
2015/08/14 职场文书
2016年庆祝六一儿童节活动总结
2016/04/06 职场文书
Nginx反向代理学习实例教程
2021/10/24 Servers