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循环获取GET和POST值的代码
Apr 09 PHP
php一个找二层目录的小东东
Aug 02 PHP
CI框架源码阅读,系统常量文件constants.php的配置
Feb 28 PHP
探讨如何把session存入数据库
Jun 07 PHP
PHP中数组的分组排序实例
Jun 01 PHP
php简单创建zip压缩文件的方法
Apr 30 PHP
thinkphp配置文件路径的实现方法
Aug 30 PHP
Zend Framework框架实现类似Google搜索分页效果
Nov 25 PHP
PHP执行shell脚本运行程序不产生core文件的方法
Dec 28 PHP
PHP错误处理函数register_shutdown_function使用示例
Jul 03 PHP
yii框架结合charjs实现统计30天数据的方法
Apr 04 PHP
goto语法在PHP中的使用教程
Sep 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
在Windows系统上安装PHP运行环境文字教程
2010/07/19 PHP
PHP与C#分别格式化文件大小的代码
2011/05/14 PHP
PHP中include()与require()的区别说明
2017/02/14 PHP
jQuery.extend 函数的详细用法
2012/06/27 Javascript
jquery css 设置table的奇偶行背景色示例
2014/06/03 Javascript
常用的jquery模板插件——jQuery Boilerplate介绍
2014/09/23 Javascript
对JavaScript中this指针的新理解分享
2015/01/31 Javascript
js代码实现无缝滚动(文字和图片)
2015/08/20 Javascript
简单总结JavaScript中的String字符串类型
2016/05/26 Javascript
ionic组件ion-tabs选项卡切换效果实例
2016/08/27 Javascript
yarn与npm的命令行小结
2016/10/20 Javascript
javascript 中select框触发事件过程的分析
2017/08/01 Javascript
vue缓存的keepalive页面刷新数据的方法
2019/04/23 Javascript
一百行JS代码实现一个校验工具
2019/04/30 Javascript
Element中Slider滑块的具体使用
2020/07/29 Javascript
如何构建 vue-ssr 项目的方法步骤
2020/08/04 Javascript
vue将文件/图片批量打包下载zip的教程
2020/10/21 Javascript
[01:02:55]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
纯Python开发的nosql数据库CodernityDB介绍和使用实例
2014/10/23 Python
python散点图实例之随机漫步
2018/08/27 Python
Python输出\u编码将其转换成中文的实例
2018/12/15 Python
详解程序意外中断自动重启shell脚本(以Python为例)
2019/07/26 Python
详解python中的index函数用法
2019/08/06 Python
对python pandas中 inplace 参数的理解
2020/06/27 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
2021/03/04 Python
从一次项目重构说起CSS3自定义变量在项目的使用方法
2021/03/01 HTML / CSS
html5拍照功能实现代码(htm5上传文件)
2013/12/11 HTML / CSS
MAC彩妆澳洲官网:M·A·C AU
2021/01/17 全球购物
保加利亚手表、香水、化妆品和珠宝购物网站:Brasty.bg
2020/04/22 全球购物
中兴通讯全球官方网站:ZTE
2020/12/26 全球购物
医学生实习自我鉴定
2013/09/27 职场文书
电子商务专业个人的自我评价
2013/11/19 职场文书
学校运动会霸气口号
2014/06/07 职场文书
学校工作推荐信范文
2014/07/11 职场文书
防汛工作情况汇报
2014/10/28 职场文书
优秀团队申报材料
2014/12/26 职场文书