Rate-limiting

跳转到: 导航, 搜索

目录

访问限制Rate limiting

微博API限制客户端每小时只能执行有限个请求。详述如下。

REST API Rate Limiting

默认REST API的访问限制是每小时150次,限制分用户和IP, 未授权的访问次数限制主要针对IP,登录后的请求访问限制主要针对用户。

访问限制主要针对HTTP GET请求。发表操作(如发微博)通常是POST操作而不受此限制。 详细限制情况:

  • 请求限制:普通调用限制每小时150次
  • 发表微博:单用户每小时最大30次
  • 发表评论:单用户每小时最大60次
  • 发表私信:单用户每小时最大60次
  • 添加关注:每小时最多添加关注60个

黑名单

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

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

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