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 chr() ord()中文截取乱码问题解决方法
Sep 08 PHP
PHP图片验证码制作实现分享(全)
May 10 PHP
解析PHP中如何将数组变量写入文件
Jun 06 PHP
PHP5中实现多态的两种方法实例分享
Apr 21 PHP
php调用KyotoTycoon简单实例
Apr 02 PHP
PHP SPL标准库之数据结构栈(SplStack)介绍
May 12 PHP
php微信公众平台配置接口开发程序
Sep 22 PHP
PHP获取表单数据与HTML嵌入PHP脚本的实现
Feb 09 PHP
PHP基于SMTP协议实现邮件发送实例代码
Apr 27 PHP
php smtp实现发送邮件功能
Jun 22 PHP
php实现基于pdo的事务处理方法示例
Jul 21 PHP
Yii2框架控制器、路由、Url生成操作示例
May 27 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
第七节 类的静态成员 [7]
2006/10/09 PHP
《PHP编程最快明白》第四讲:日期、表单接收、session、cookie
2010/11/01 PHP
php eval函数用法总结
2012/10/31 PHP
thinkPHP的Html模板标签使用方法
2012/11/13 PHP
php数组添加与删除单元的常用函数实例分析
2015/02/16 PHP
64位windows系统下安装Memcache缓存
2015/12/06 PHP
一文掌握PHP Xdebug 本地与远程调试(小结)
2019/04/23 PHP
javascript 中String.match()与RegExp.exec()的区别说明
2013/01/10 Javascript
jquery实现html页面 div 假分页有原理有代码
2014/09/06 Javascript
node.js中的fs.realpathSync方法使用说明
2014/12/16 Javascript
提高jQuery性能优化的技巧
2015/08/03 Javascript
javascript实现日期三级联动下拉框选择菜单
2020/12/03 Javascript
JQuery Ajax 异步操作之动态添加节点功能
2017/05/24 jQuery
浅谈ES6新增的数组方法和对象
2017/08/08 Javascript
vue实现在表格里,取每行的id的方法
2018/03/09 Javascript
vue-devtools的安装步骤
2018/04/23 Javascript
基于layui数据表格以及传数据的方式
2018/08/19 Javascript
vue.js实现数据库的JSON数据输出渲染到html页面功能示例
2019/08/03 Javascript
Vue项目中使用better-scroll实现菜单映射功能方法
2019/09/11 Javascript
vue 中 elment-ui table合并上下两行相同数据单元格
2019/12/26 Javascript
vue实现移动端input上传视频、音频
2020/08/18 Javascript
使用PyInstaller将python转成可执行文件exe笔记
2018/05/26 Python
python可视化实现代码
2019/01/15 Python
Django实现学生管理系统
2019/02/26 Python
浅析Python requests 模块
2020/10/09 Python
迟到检讨书大全
2014/01/25 职场文书
趣味活动策划方案
2014/02/08 职场文书
学生社团文化节开幕式主持词
2014/03/28 职场文书
《望庐山瀑布》教学反思
2014/04/22 职场文书
我有一个梦想演讲稿
2014/05/05 职场文书
2015届大学生就业推荐表自我评价
2014/09/27 职场文书
幼儿教师自我剖析材料
2014/09/29 职场文书
军训个人总结
2015/03/03 职场文书
学生病假条范文
2015/08/17 职场文书
python周期任务调度工具Schedule使用详解
2021/11/23 Python
Python实现自动玩连连看的脚本分享
2022/04/04 Python