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 相关文章推荐
E路文章系统PHP
Dec 11 PHP
使用eAccelerator加密PHP程序
Oct 03 PHP
url decode problem 解决方法
Dec 26 PHP
php去除字符串换行符示例分享
Feb 13 PHP
PHP+Mysql+Ajax+JS实现省市区三级联动
May 23 PHP
php防止sql注入简单分析
Mar 18 PHP
php实现Mongodb自定义方式生成自增ID的方法
Mar 23 PHP
Thinkphp 空操作、空控制器、命名空间(详解)
May 05 PHP
基于php数组中的索引数组和关联数组详解
Mar 12 PHP
Yii2框架数据验证操作实例详解
May 02 PHP
PHP抽象类基本用法示例
Dec 28 PHP
让你的PHP,APACHE,NGINX支持大文件上传
Mar 09 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模拟ping命令(php exec函数的使用方法)
2013/10/25 PHP
在php和MySql中计算时间差的方法详解
2015/03/27 PHP
PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
2016/09/11 PHP
php封装的验证码类分享
2017/02/26 PHP
PHP设计模式之模板方法模式实例浅析
2018/12/20 PHP
实现前后端数据交互方法汇总
2015/04/07 Javascript
js实现的二分查找算法实例
2016/01/21 Javascript
js实现图片轮播效果学习笔记
2017/07/26 Javascript
利用Angular2 + Ionic3开发IOS应用实例教程
2018/01/15 Javascript
解决vue+webpack打包路径的问题
2018/03/06 Javascript
jQuery实现参数自定义的文字跑马灯效果
2018/08/15 jQuery
vue项目移动端实现ip输入框问题
2019/03/19 Javascript
微信小程序 wxParse插件显示视频问题
2019/09/27 Javascript
Windows下用py2exe将Python程序打包成exe程序的教程
2015/04/08 Python
python使用itchat库实现微信机器人(好友聊天、群聊天)
2018/01/04 Python
Python基于matplotlib实现绘制三维图形功能示例
2018/01/18 Python
python 显示数组全部元素的方法
2018/04/19 Python
Python一个简单的通信程序(客户端 服务器)
2019/03/06 Python
用Python爬取QQ音乐评论并制成词云图的实例
2019/08/24 Python
Django框架HttpRequest对象用法实例分析
2019/11/01 Python
Python脚本导出为exe程序的方法
2020/03/25 Python
pyqt5中动画的使用详解
2020/04/01 Python
如何利用Python动态模拟太阳系运转
2020/09/04 Python
HTML5操作WebSQL数据库的实例代码
2017/08/26 HTML / CSS
SheIn俄罗斯:时尚女装网上商店
2017/02/28 全球购物
eBay瑞士购物网站:eBay.ch
2018/12/24 全球购物
毕业生医学检验求职信
2013/10/16 职场文书
会计实习生自我鉴定
2013/12/12 职场文书
给女儿的表扬信
2014/01/18 职场文书
上班上网检讨书
2014/01/29 职场文书
班级光棍节联谊会策划书
2014/10/10 职场文书
2015年留守儿童工作总结
2015/05/22 职场文书
幼儿园庆六一主持词
2015/06/30 职场文书
保护环境的宣传语
2015/07/13 职场文书
2015上半年个人工作总结
2015/07/27 职场文书
导游词幽默开场白
2019/06/26 职场文书