如何获取access_token?
2018-04-12 19:20
176 查看
access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token,那怎么获取access_token
首先定义APPID和APPSECRET然后定义一个access_token函数判断是否存在该文件,如果存在,就读取并取出(时间)若没有,则调用getNewAccess_token函数define('APPID', 'wxc1e2006bdad94249');
define('APPSECRET', 'a460dd51a1d2a49e5c7ee7bf3d5c8c75');
define('TOKEN_FILE', 'access_token.txt');
$access_token = access_token();
echo $access_token;
function access_token(){
//判断是否存在该文件,如果存在,就读取并取出(时间)若没有,则调用getNewAccess_token函数
if(is_file(TOKEN_FILE)){
$str = file_get_contents(TOKEN_FILE);
$arr = json_decode($str,true);
//判断是否过期
if(time()-$arr['create_time'] > $arr['expires_in']-200){
return getNewAccess_token();
}else{
return $arr['access_token'];
}
}else{
return getNewAccess_token();
}
}
定义getNewAccess_token函数
首先定义APPID和APPSECRET然后定义一个access_token函数判断是否存在该文件,如果存在,就读取并取出(时间)若没有,则调用getNewAccess_token函数define('APPID', 'wxc1e2006bdad94249');
define('APPSECRET', 'a460dd51a1d2a49e5c7ee7bf3d5c8c75');
define('TOKEN_FILE', 'access_token.txt');
$access_token = access_token();
echo $access_token;
function access_token(){
//判断是否存在该文件,如果存在,就读取并取出(时间)若没有,则调用getNewAccess_token函数
if(is_file(TOKEN_FILE)){
$str = file_get_contents(TOKEN_FILE);
$arr = json_decode($str,true);
//判断是否过期
if(time()-$arr['create_time'] > $arr['expires_in']-200){
return getNewAccess_token();
}else{
return $arr['access_token'];
}
}else{
return getNewAccess_token();
}
}
定义getNewAccess_token函数
function getNewAccess_token(){ $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . APPID . "&secret=" . APPSECRET .""; // echo($url); //接入api //file_get_contents();读取文件 //设置一个新的curl资源 $ch = curl_init(); //设置url和相应的选项 curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_SSLVERSION, 1); //抓取url并把它传递给浏览器 $str = curl_exec($ch); //关闭curl,释放系统资源 curl_close($ch); //将其转化成数组 $arr = json_decode($str,true); //将时间写入数组 $arr['create_time'] = time(); $str = json_encode($arr); //写入文件 file_put_contents(TOKEN_FILE, $str); return $arr['access_token']; }
相关文章推荐
- 如何获取永久性的facebook page access token
- 第五篇 :微信公众平台开发实战Java版之如何获取公众号的access_token以及缓存access_token
- 第五篇 :微信公众平台开发实战Java版之如何获取公众号的access_token以及缓存access_token
- 如何获取app access_token(针对这样的错误This method must be called with an app access_token.)
- 如何获取自己微博接口和access_token
- 如何更好的获取access_Token
- 第五篇 :微信公众平台开发实战Java版之如何获取公众号的access_token以及缓存access_token
- 微信公众平台开发实战Java版之如何获取公众号的access_token以及缓存access_token
- 记录今天学习到的 --- 如何获取微信access_token及微信二维码ticket。
- 微信开发第二篇:获取全局access_token
- 微信公众平台开发教程第22篇-如何保证access_token长期有效
- java版实时获取access_token
- 微信获取Access_token
- java微信接口之——获取access_token
- 关于新浪微博获取access_token
- 微信支付java版本之获取Access_token
- access_token与refresh_token之为什么要用refresh_token刷新不重新获取access_token?
- 获取微信用户openid的三种方法#ACCESS_TOKEN
- 微信公众号获取不到access_token问题
- 百度PCS快速获取access_token的方法