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 和 MySQL 基础教程(二)
Oct 09 PHP
php实现的在线人员函数库
Apr 09 PHP
一个PHP缓存类代码(附详细说明)
Jun 09 PHP
深入理解用mysql_fetch_row()以数组的形式返回查询结果
Jun 05 PHP
sae使用smarty模板的方法
Dec 17 PHP
php中文验证码实现示例分享
Jan 12 PHP
使用PHP破解防盗链图片的一个简单方法
Jun 07 PHP
适用于初学者的简易PHP文件上传类
Oct 29 PHP
PHP未登录自动跳转到登录页面
Dec 21 PHP
详解PHP中的序列化、反序列化操作
Mar 21 PHP
thinkphp中U方法按路由规则生成url的方法
Mar 12 PHP
php简单计算权重的方法示例【适合抽奖类应用】
Jun 10 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下实现农历日历的代码
2007/03/07 PHP
php解压文件代码实现php在线解压
2014/02/13 PHP
使用PHPExcel操作Excel用法实例分析
2015/03/26 PHP
PHP简单实现冒泡排序的方法
2016/12/26 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
2019/10/30 PHP
在Javascript中定义对象类别
2006/12/22 Javascript
Javascript结合css实现网页换肤功能
2009/11/02 Javascript
使用js对select动态添加和删除OPTION示例代码
2013/08/12 Javascript
jq实现酷炫的鼠标经过图片翻滚效果
2014/03/12 Javascript
Underscore.js 1.3.3 中文注释翻译说明
2015/06/25 Javascript
jquery实现模拟百分比进度条渐变效果代码
2015/10/29 Javascript
微信小程序 教程之wxapp 视图容器 view
2016/10/19 Javascript
js实现股票实时刷新数据案例
2017/05/14 Javascript
Angular4 反向代理Details实践
2018/05/30 Javascript
python3中dict(字典)的使用方法示例
2017/03/22 Python
Python学习小技巧之列表项的推导式与过滤操作
2017/05/20 Python
python中的set实现不重复的排序原理
2018/01/24 Python
PyQt5基本控件使用详解:单选按钮、复选框、下拉框
2019/08/05 Python
Python with语句和过程抽取思想
2019/12/23 Python
Python实现的北京积分落户数据分析示例
2020/03/27 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
2020/05/11 Python
用CSS3实现无限循环的无缝滚动的实例代码
2017/07/04 HTML / CSS
详解HTML5中表单验证的8种方法介绍
2016/12/19 HTML / CSS
基于Html5实现的语音搜索功能
2019/05/13 HTML / CSS
香港个人化生活购物网站:Ballyhoo Limited
2016/09/10 全球购物
美国网上花店:JustFlowers
2017/02/12 全球购物
Halston Heritage官网:简洁的日装,稍显奢华的晚装
2018/11/20 全球购物
个人党性剖析材料
2014/02/03 职场文书
班主任与学生安全责任书
2014/07/25 职场文书
2014年妇女工作总结
2014/12/06 职场文书
优秀共产党员推荐材料
2014/12/18 职场文书
公司车辆维修管理制度
2015/08/05 职场文书
2016年感恩父亲节活动总结
2016/04/01 职场文书
python数据可视化使用pyfinance分析证券收益示例详解
2021/11/20 Python
Python函数对象与闭包函数
2022/04/13 Python