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
三个类概括PHP的五种设计模式
Sep 05 PHP
使用php将某个目录下面的所有文件罗列出来的方法详解
Jun 21 PHP
php使用sql数据库 获取字段问题介绍
Aug 12 PHP
php中url传递中文字符,特殊危险字符的解决方法
Aug 17 PHP
php天翼开放平台短信发送接口实现方法
Dec 22 PHP
PHP Warning: Module 'modulename' already loaded in问题解决办法
Mar 16 PHP
解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题
May 11 PHP
php微信开发之关注事件
Jun 14 PHP
PHP PDOStatement::fetchAll讲解
Jan 31 PHP
PHP SESSION机制的理解与实例
Mar 22 PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
May 30 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
摘自织梦CMS的HTTP文件下载类
2015/08/08 PHP
Yii框架分页实现方法详解
2017/05/20 PHP
类似框架的js代码
2006/11/09 Javascript
JQuery一种取同级值的方式(比如你在GridView中)
2012/03/15 Javascript
JS动画效果打开、关闭层的实现方法
2015/05/09 Javascript
javascript实现计时器的简单方法
2016/02/21 Javascript
基于jQuery倒计时插件实现团购秒杀效果
2016/05/13 Javascript
AngularJS实践之使用NgModelController进行数据绑定
2016/10/08 Javascript
Node.js中用D3.js的方法示例
2017/01/16 Javascript
JS去掉字符串前后空格、阻止表单提交的实现代码
2017/06/08 Javascript
Vue路由钩子之afterEach beforeEach的区别详解
2018/07/15 Javascript
详解在Node.js中发起HTTP请求的5种方法
2019/01/10 Javascript
微信小程序的授权实现过程解析
2019/08/02 Javascript
laravel实现中文和英语互相切换的例子
2019/09/30 Javascript
vue Tab切换以及缓存页面处理的几种方式
2019/11/05 Javascript
vue跳转方式(打开新页面)及传参操作示例
2020/01/26 Javascript
JavaScript实现密码强度实时验证
2020/03/18 Javascript
简单了解JavaScript作用域
2020/07/31 Javascript
从表单校验看JavaScript策略模式的使用详解
2020/10/17 Javascript
微信小程序实现购物车小功能
2020/12/30 Javascript
python中正则表达式的使用详解
2014/10/17 Python
python tools实现视频的每一帧提取并保存
2020/03/20 Python
Python面向对象之继承和多态用法分析
2019/06/08 Python
Python使用socket模块实现简单tcp通信
2020/08/18 Python
python 30行代码实现蚂蚁森林自动偷能量
2021/02/08 Python
YOINS官网:时尚女装网上购物
2017/03/17 全球购物
Veronica Beard官网:在酷、经典和别致之间找到了平衡
2018/01/11 全球购物
科研先进个人典型材料
2014/01/31 职场文书
煤矿安全生产标语
2014/06/06 职场文书
代办社保委托书范文
2014/10/06 职场文书
董事长助理岗位职责
2015/02/11 职场文书
推销搭讪开场白
2015/05/28 职场文书
2015年教师节感言
2015/08/03 职场文书
2016年“12.4”法制宣传日活动总结
2016/04/01 职场文书
简述Java中throw-throws异常抛出
2021/08/07 Java/Android
Java spring单点登录系统
2021/09/04 Java/Android