Rate-limiting

跳转到: 导航, 搜索
(开发者如何正确面对频率限制)
第1行: 第1行:
==访问限制Rate limiting==
+
==接口访问频次权限==
微博API限制客户端每小时只能执行有限个请求。详述如下。
+
微博接口限制用户每个小时只能请求一定的次数。限制分用户维度和IP维度,详述如下:
 +
 
 +
===针对一个服务器IP的请求次数限制===
 +
<span style="color:#FF7D13;">普通授权:</span>
 +
*10000次/小时
 +
 
 +
<span style="color:#FF7D13;">中级授权:</span>
 +
*20000次/小时
 +
 
 +
<span style="color:#FF7D13;">高级授权:</span>
 +
*30000次/小时
 +
 
 +
<span style="color:#FF7D13;">合作授权:</span>
 +
*40000次/小时
 
   
 
   
===REST API Rate Limiting===
+
===针对一个用户在使用一个应用的请求次数限制===
默认REST API的访问限制是每小时150次,限制分用户和IP, 未授权的访问次数限制主要针对IP,登录后的请求访问限制主要针对用户。
+
<span style="color:#FF7D13;">普通授权:</span>
 +
* 总限制:单用户每应用 150次/小时
 +
* 发微博:单用户每应用 30次/小时
 +
* 发评论:单用户每应用 60次/小时
 +
* 发私信:单用户每应用 60次/小时
 +
* 加关注:单用户每应用 60次/小时  200次/天
  
普通授权限制情况:
+
<span style="color:#FF7D13;">中级授权:</span>
* 请求限制:单用户每小时150次
+
* 总限制:单用户每应用 300次/小时
* 发表微博:单用户每小时最大30次
+
* 发微博:单用户每应用 60次/小时
* 发表评论:单用户每小时最大60次
+
* 发评论:单用户每应用 120次/小时
* 发表私信:单用户每小时最大60次
+
* 发私信:单用户每应用 120次/小时
* 添加关注:每小时最多添加关注60个,每天最多关注200个
+
* 加关注:单用户每应用 120次/小时  400次/天
  
中级授权限制情况:
+
<span style="color:#FF7D13;">高级授权:</span>
* 请求限制:单用户每小时300次
+
* 总限制:单用户每应用 450次/小时
* 发表微博:单用户每小时最大60次
+
* 发微博:单用户每应用 90次/小时
* 发表评论:单用户每小时最大120次
+
* 发评论:单用户每应用 180次/小时
* 发表私信:单用户每小时最大120次
+
* 发私信:单用户每应用 180次/小时
* 添加关注:每小时最多添加关注120个,每天最多关注400个
+
* 加关注:单用户每应用 180次/小时  600次/天
  
高级授权限制情况:
+
<span style="color:#FF7D13;">合作授权:</span>
* 请求限制:单用户每小时450次
+
* 总限制:单用户每应用 无限制
* 发表微博:单用户每小时最大90次
+
* 发微博:单用户每应用 120次/小时
* 发表评论:单用户每小时最大180次
+
* 发评论:单用户每应用 240次/小时
* 发表私信:单用户每小时最大180次
+
* 发私信:单用户每应用 240次/小时
* 添加关注:每小时最多添加关注180个,每天最多关注600个
+
* 加关注:单用户每应用 240次/小时  800次/天
  
合作伙伴授权限制情况:
 
* 请求限制:不限
 
* 发表微博:单用户每小时最大120次
 
* 发表评论:单用户每小时最大240次
 
* 发表私信:单用户每小时最大240次
 
* 添加关注:每小时最多添加关注240个,每天最多关注800个
 
  
 
===黑名单===
 
===黑名单===

2011年3月29日 (二) 17:10的版本

目录

接口访问频次权限

微博接口限制用户每个小时只能请求一定的次数。限制分用户维度和IP维度,详述如下:

针对一个服务器IP的请求次数限制

普通授权:

  • 10000次/小时

中级授权:

  • 20000次/小时

高级授权:

  • 30000次/小时

合作授权:

  • 40000次/小时

针对一个用户在使用一个应用的请求次数限制

普通授权:

  • 总限制:单用户每应用 150次/小时
  • 发微博:单用户每应用 30次/小时
  • 发评论:单用户每应用 60次/小时
  • 发私信:单用户每应用 60次/小时
  • 加关注:单用户每应用 60次/小时 200次/天

中级授权:

  • 总限制:单用户每应用 300次/小时
  • 发微博:单用户每应用 60次/小时
  • 发评论:单用户每应用 120次/小时
  • 发私信:单用户每应用 120次/小时
  • 加关注:单用户每应用 120次/小时 400次/天

高级授权:

  • 总限制:单用户每应用 450次/小时
  • 发微博:单用户每应用 90次/小时
  • 发评论:单用户每应用 180次/小时
  • 发私信:单用户每应用 180次/小时
  • 加关注:单用户每应用 180次/小时 600次/天

合作授权:

  • 总限制:单用户每应用 无限制
  • 发微博:单用户每应用 120次/小时
  • 发评论:单用户每应用 240次/小时
  • 发私信:单用户每应用 240次/小时
  • 加关注:单用户每应用 240次/小时 800次/天


黑名单

我们希望API调用者都能遵循请求限制,过度频率的调用API会导致你的应用/IP加入黑名单。加入黑名单之后,所有请求都会无任何返回。

开发者如何正确面对频率限制

  • 首先微博API技术原理上是一个HTTP轮询(POLLING)协议,不是即时推送(realtime push)协议。因此即使增大刷新频率也无法完全达到即时获得最新信息效果。根据经验,更新频率我们建议2-3分钟/次为宜,API客户端也可提供一个手工刷新按钮,用户可以手工获取最新数据。
  • API客户端可以智能控制请求频率,比如最近几次更新都没获取到数据情况下可以适当将间隔时间延长。当一小时内剩余次数多时候可以适当将更新加快。当剩余请求数偏小时,客户端通过延长自己的更新频率控制不超过上限。另外要适当留一些空余指标,防止用户手工执行一些操作产生的调用导致超出上限。