因为微信的高级接口需要频繁调用获取access_token的接口,同时每天只能调用2000次,测试账号只能被调用200次,好在每个access_token的有效期有7200秒,所以我们需要将access_token的值缓存
公众号调用接口并不是无限制的。为了防止公众号的程序错误而引发微信服务器负载异常,默认情况下,每个公众号调用接口都不能超过一定限制,当超过一定限制时,调用对应接口会收到如下错误返回码:
{"errcode":45009,"errmsg":"api freq out of limit"}
<?php
$mmc = memcache_init();
$access_token = mencache_get($mmc, "token");
if(empty($access_token)){
$appid = '';
$secret = '';
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$secret}";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$a = curl_exec($ch);
$strjson = json_decode($a);
$token = $strjson->access_token;
memcache_set($mmc, "token", $token, 0, 7100);
$access_token = mencache_get($mmc, "token");
}
?>