Rate-limiting
目录 |
接口访问频次权限
微博接口限制用户每个小时只能请求一定的次数。限制分用户维度和IP维度,详述如下:
针对一个服务器IP的请求次数限制
测试授权:
- 1000次/小时
普通授权:
- 10000次/小时
中级授权:
- 20000次/小时
高级授权:
- 30000次/小时
合作授权:
- 40000次/小时
针对一个用户在使用一个应用的请求次数限制
测试授权:
- 总限制:单用户每应用 150次/小时
- 发微博:单用户每应用 30次/小时
- 发评论:单用户每应用 60次/小时
- 加关注:单用户每应用 60次/小时 100次/天
普通授权:
- 总限制:单用户每应用 150次/小时
- 发微博:单用户每应用 30次/小时
- 发评论:单用户每应用 60次/小时
- 加关注:单用户每应用 60次/小时 200次/天
中级授权:
- 总限制:单用户每应用 300次/小时
- 发微博:单用户每应用 60次/小时
- 发评论:单用户每应用 120次/小时
- 加关注:单用户每应用 120次/小时 400次/天
高级授权:
- 总限制:单用户每应用 450次/小时
- 发微博:单用户每应用 90次/小时
- 发评论:单用户每应用 180次/小时
- 加关注:单用户每应用 180次/小时 600次/天
合作授权:
- 总限制:单用户每应用 无限制
- 发微博:单用户每应用 120次/小时
- 发评论:单用户每应用 240次/小时
- 加关注:单用户每应用 240次/小时 800次/天
未通过审核的,开发中的应用,将适用测试授权,当应用通过审核成为正式应用,将自动升级为普通授权。
当频次权限达到本级别的上限时,可以提出更高级别授权的申请(仅限于普通至高级授权)。申请时,请将应用介绍、功能策略、AppKey、应用名称一起@微博开放平台。
提交申请的时候,开发者信息应包含如下内容:
企业
- 1、营业执照副本复印件
- 2、法人身份证复印件
- 3、税务登记副本复印件
- 4、应用产品说明文档:包括产品介绍、运营推广策略、改进目标等
个人
- 1、开发者身份证复印件
- 2、应用产品说明文档:包括产品介绍、运营推广策略、改进目标等
未通过审核应用的测试账号限制
针对未通过审核的,开发中的应用,我们除了以上的频次限制外,将还有测试账号的额外请求限制。每个未通过审核应用只能授权15个测试账号来请求接口。除此之外的账号通过该应用,都无法请求接口。当应用通过审核,该限制自动取消。
测试账号设置在 “我的应用>编辑应用属性>测试账号” 里可以找到。
黑名单
我们希望API调用者都能遵循请求限制,过度频率的调用API会导致你的应用/IP加入黑名单。加入黑名单之后,所有请求都会无任何返回。
开发者如何正确面对频率限制
首先微博API技术原理上是一个HTTP轮询(POLLING)协议,不是即时推送(realtime push)协议。因此即使增大刷新频率也无法完全达到即时获得最新信息效果。根据经验,更新频率我们建议2-3分钟/次为宜,API客户端也可提供一个手工刷新按钮,用户可以手工获取最新数据。
API客户端可以智能控制请求频率,比如最近几次更新都没获取到数据情况下可以适当将间隔时间延长。当一小时内剩余次数多时候可以适当将更新加快。当剩余请求数偏小时,客户端通过延长自己的更新频率控制不超过上限。另外要适当留一些空余指标,防止用户手工执行一些操作产生的调用导致超出上限。
客户端可以通过以下接口查询当前剩余请求数Account/rate_limit_status