微信access_token获取及简介

小菜鸟战斗机 2018-3-26 192

1.access_token介绍

  • access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。正常情况下access_token有效期为7200秒,重复获取将导致上次获取的access_token失效。
  • 通过access_token,微信公众号才能调用微信接口,同样微信服务器通过access_token来判断该公众号是否有权限调用该接口。

2.access_token在后期应用开发中应采取的策略

  • token的每天的调用频率是有限制的,但所有的相关接口都要使用到token,当使用的次数过多,就有可能超过这个限制,所以要采取策略避免这种情况的发生。
  • 采用的方法一般是:将一次获取的token保存到数据库,所有需要token的地方都到数据库中来取token,当两个小时之后再次更新数据库中的token

3.调用接口获取access_token
html 代码

<?php
$appId = "wxaadsadcsssssdssdfs706727";
$appSecret = "sdfsdfsdfsdfsdfsdf";
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appId}&secret={$appSecret}";
//方式一
//在实际的应用中使用file_get_contents是不稳定的
//$token = (array)json_decode(file_get_contents($url));
//方式二
function getToken($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko)");
    curl_setopt($ch, CURLOPT_ENCODING, "gzip");//加入gzip解析
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    $output = curl_exec($ch);
    curl_close($ch);
    return $output;
}
$output = getToken($url); 
$token = (array)json_decode($output);
echo $token['access_token'];


最新回复 (0)
返回