首页 > 微信 > 详细

解决微信access_token上限问题

时间:2015-12-30 19:08:17      阅读:13368      评论:0      收藏:0      [点我收藏+]

标签:class   style   log   com   http   使用   it   代码   la   

已经关注,还提示关注。
分享不是正常文字,而是链接地址。
调取接口,最大2000次。
access_token接口访问次数到达了上限,一日内无法再进行访问
如何解决access_token 访问次数到达了上限?

access_token 是有次数限制的。记得缓存下来,不然请求次数过多,会出错的

access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的存储至少要保留512个字符空间。
access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。

获取access token
http://mp.weixin.qq.com/wiki/11/0e4b294685f817b95cbed85ba5e82b8f.html
各接口调用频率限制如下:
http://mp.weixin.qq.com/wiki/0/2e2239fa5f49388d5b5136ecc8e0e440.html
----------------------------------------------------- -----------------------------------------------------
公众号接口访问次数到达了上限,一日内无法再进行访问,无法解决。

基础支持: 获取access_token接口 /token
请求地址:
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx1695319f47a613c3&secret=08cdfa05ac2b89c8939933ea8ca34227
返回结果:
200 OK
Connection: keep-alive
Date: Tue, 29 Dec 2015 06:25:32 GMT
Server: nginx/1.8.0
Content-Type: application/json; encoding=utf-8
Content-Length: 79
{
"errcode": 45009,
"errmsg": "reach max api daily quota limit hint: [xv0332vr22]"
}
提示:
Error source: interface call
-----------------------------------------------------
正常情况

基础支持: 获取access_token接口 /token

请求地址:
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wxd64068c8f7c62e37&secret=213e9470bf560ff9e84ed2768088caf7

返回结果:

200 OK

Connection: keep-alive
Date: Tue, 29 Dec 2015 06:34:25 GMT
Server: nginx/1.8.0
Content-Type: application/json; encoding=utf-8
Content-Length: 154

{
"access_token": "EAzaRwPE52KDHzOkT8U2T51Qrv2X2edPmkwKkEzseIuRBGNaxG7ykq8KqlW94uT2BD_U3eCOmehfm73H4lApxPvg2RqfHj0cnAS_wNPPq4QDCAfAAAYXV",
"expires_in": 7200
}

提示:
Request successful
-----------------------------------------------------
解决方案:
这个错误意思是公众号接口访问次数到达了上限,一日内无法再进行访问,无法解决。没办法,这是微信为了减少服务器负载的硬性限制。
公众号调用接口并不是无限制的。为了防止公众号的程序错误而引发微信服务器负载异常,默认情况下,每个公众号调用接口都不能超过一定限制,当超过一定限制时,调用对应接口会收到如下错误返回码:
{"errcode":45009,"errmsg":"api freq out of limit"}

网页授权获取用户基本信息
http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html

----------------------------------------------------- -----------------------------------------------------

$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$this->appId&secret=$this->appSecret";
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$secret";

code first.php 试验微信不跳转,能否获取用户信息。


require_once "../jssdk.php";
$jssdk = new JSSDK(WX_APP_ID, WX_SECRET);
$token = $jssdk->getAccessToken();
---------------------------------------------------------------
2015-12-30 10:54

200 OK
Connection: keep-alive
Date: Wed, 30 Dec 2015 02:49:44 GMT
Server: nginx/1.8.0
Content-Type: application/json; encoding=utf-8
Content-Length: 83
{
"errcode": 45009,
"errmsg": "reach max api daily quota limit hint: [UMEhma0784vr18]"
}

  public function getAccessToken() {
    // access_token 应该全局存储与更新,以下代码以写入到文件中做示例
      $path=$_SERVER[‘DOCUMENT_ROOT‘]."/weixin/";
    $data = json_decode(file_get_contents($path."access_token.json"));
    if ($data->expire_time < time()) {
      $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$this->appId&secret=$this->appSecret";
      $res = json_decode($this->httpGet($url));
      $access_token = $res->access_token;
      if ($access_token) {
        $data->expire_time = time() + 6780;//7200->6780 服务器慢7分钟没问题
        $data->access_token = $access_token;
        $fp = fopen($path."access_token.json", "w");
        fwrite($fp, json_encode($data));
        fclose($fp);
      }
    } else {
      $access_token = $data->access_token;
    }
    return $access_token;
  }

 

解决微信access_token上限问题

标签:class   style   log   com   http   使用   it   代码   la   

原文:http://www.cnblogs.com/wellsoho/p/5089543.html

(3)
(0)
   
举报
评论 一句话评论(0
0条  
登录后才能评论!
© 2014 bubuko.com 版权所有 鲁ICP备09046678号-4
打开技术之扣,分享程序人生!
             

鲁公网安备 37021202000002号