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 相关文章推荐
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
Oct 09 PHP
php获取后台Job管理的实现代码
Jun 10 PHP
查找mysql字段中固定字符串并替换的几个方法
Sep 23 PHP
php简单的留言板与回复功能具体实现
Feb 19 PHP
Apache服务器下防止图片盗链的办法
Jul 06 PHP
如何通过Linux命令行使用和运行PHP脚本
Jul 29 PHP
Ubuntu中支持PHP5与PHP7双版本的简单实现
Aug 19 PHP
让Laravel API永远返回JSON格式响应的方法示例
Sep 05 PHP
Laravel框架实现超简单的分页效果示例
Feb 08 PHP
php统计数组不同元素的个数的实例方法
Sep 26 PHP
PHP vsprintf()函数格式化字符串操作原理解析
Jul 14 PHP
eval(cmd)与eval($cmd)的区别与联系
Jul 07 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数据库开发知多少
2006/10/09 PHP
php命名空间学习详解
2014/02/27 PHP
php实现天干地支计算器示例
2014/03/14 PHP
解决phpcms更换javascript的幻灯片代码调用图片问题
2014/12/26 PHP
WordPress中用于获取文章信息以及分类链接的函数用法
2015/12/18 PHP
[原创]PHPCMS遭遇会员投稿审核无效的解决方法
2017/01/11 PHP
PHP实现的AES双向加密解密功能示例【128位】
2018/09/03 PHP
jquery实现奇偶行赋值不同css值
2012/02/17 Javascript
javascript ie6兼容position:fixed实现思路
2013/04/01 Javascript
jQuery中获取Radio元素值的方法
2013/07/02 Javascript
鼠标移动到图片名上,显示图片的简单实例
2013/07/14 Javascript
JavaScript匿名函数与委托使用示例
2014/07/22 Javascript
javascript判断网页是关闭还是刷新
2015/09/12 Javascript
基于zepto的移动端轻量级日期插件--date_picker
2016/03/04 Javascript
AngularJs Forms详解及简单示例
2016/09/01 Javascript
简单实现JavaScript弹幕效果
2020/08/27 Javascript
浅谈Express异步进化史
2017/09/09 Javascript
JS实现的透明度渐变动画效果示例
2018/04/28 Javascript
[04:26]2014DOTA2西雅图国际邀请赛 总决赛TOPPLAY
2014/07/22 DOTA
[01:56]无止竞 再出发——中国军团出征2017年DOTA2国际邀请赛
2017/07/05 DOTA
Python获取当前时间的方法
2014/01/14 Python
python进阶教程之循环相关函数range、enumerate、zip
2014/08/30 Python
Python Web框架Flask中使用七牛云存储实例
2015/02/08 Python
Scrapy使用的基本流程与实例讲解
2018/10/21 Python
python使用wxpy轻松实现微信防撤回的方法
2019/02/21 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
2020/03/25 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
2021/02/07 Python
华三通信H3C面试题
2015/05/15 面试题
计算机求职信
2013/12/01 职场文书
电话销售经理岗位职责
2013/12/07 职场文书
高中生活自我鉴定
2014/01/18 职场文书
群众路线教育党课主持词
2014/04/01 职场文书
网站创业计划书
2014/04/30 职场文书
观看信仰心得体会
2014/09/04 职场文书
2016年寒假见闻
2015/10/10 职场文书
车位出租协议书范本
2016/03/19 职场文书