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代码
Feb 16 PHP
破解图片防盗链的代码(asp/php)测试通过
Jul 02 PHP
第4章 数据处理-php正则表达式-郑阿奇(续)
Jul 04 PHP
php session劫持和防范的方法
Nov 12 PHP
php实现的支持imagemagick及gd库两种处理的缩略图生成类
Sep 23 PHP
php生成验证码函数
Oct 20 PHP
给WordPress中的留言加上楼层号的PHP代码实例
Dec 14 PHP
PHP类相关知识点实例总结
Sep 28 PHP
PHP ADODB生成HTML表格函数rs2html功能【附错误处理函数用法】
May 29 PHP
thinkPHP框架乐观锁和悲观锁实例分析
Oct 30 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
Apr 23 PHP
如何使用php生成zip压缩包
Apr 21 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简单随机字符串生成方法示例
2017/04/19 PHP
PHP的微信支付接口使用方法讲解
2019/03/08 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
2019/11/23 PHP
网上应用的一个不错common.js脚本
2007/08/08 Javascript
js活用事件触发对象动作
2008/08/10 Javascript
用tip解决Ext列宽度不够的问题
2008/12/13 Javascript
Prototype RegExp对象 学习
2009/07/19 Javascript
Jquery UI震动效果实现原理及步骤
2013/02/04 Javascript
jQuery中[attribute!=value]选择器用法实例
2014/12/31 Javascript
JavaScript淡入淡出渐变简单实例
2015/08/06 Javascript
jstree的简单实例
2016/12/01 Javascript
jQuery UI制作选项卡(tabs)
2016/12/13 Javascript
有关JS中的0,null,undefined,[],{},'''''''',false之间的关系
2017/02/14 Javascript
Vue 仿百度搜索功能实现代码
2017/02/16 Javascript
在vue中使用Autoprefixed的方法
2018/07/27 Javascript
mpvue中使用flyjs全局拦截的实现代码
2018/09/13 Javascript
浅谈Vue页面级缓存解决方案feb-alive(上)
2019/04/14 Javascript
[01:00:10]完美世界DOTA2联赛PWL S2 FTD vs Inki 第二场 11.21
2020/11/24 DOTA
Python爬虫框架Scrapy安装使用步骤
2014/04/01 Python
Python 基础教程之包和类的用法
2017/02/23 Python
python中pandas.DataFrame对行与列求和及添加新行与列示例
2017/03/12 Python
解决安装python库时windows error5 报错的问题
2018/10/21 Python
python pygame实现方向键控制小球
2019/05/17 Python
Python+AutoIt实现界面工具开发过程详解
2019/08/07 Python
matplotlib 画动态图以及plt.ion()和plt.ioff()的使用详解
2021/01/05 Python
CSS3实现div从下往上滑入滑出效果示例
2020/04/28 HTML / CSS
Html+Css+Jquery实现左侧滑动拉伸导航菜单栏的示例代码
2020/03/17 HTML / CSS
摩飞电器俄罗斯官方网站:Morphy Richards俄罗斯
2020/07/30 全球购物
中兴通讯全球官方网站:ZTE
2020/12/26 全球购物
珠宝店促销方案
2014/03/21 职场文书
大学生活动总结怎么写
2014/04/29 职场文书
拾金不昧表扬稿
2015/01/16 职场文书
物业前台接待岗位职责
2015/04/03 职场文书
学校工会工作总结2015
2015/05/19 职场文书
2016年班主任新年寄语
2015/08/18 职场文书
创业计划书之婴幼儿游泳馆
2019/09/11 职场文书