Mryqu's Notes


  • 首页

  • 搜索
close

Twitter API访问频次限制处理

时间: 2015-11-10   |   分类: DataBuilder     |   阅读: 41 字 ~1分钟

在我前面的博文社交媒体API访问频次限制中,列举了Twitter API访问频次限制。

Twitter API访问频次限制

TwitterAPI访问频次按15分钟为间隔。有两类桶:15分钟内允许15次调用,及15分钟内允许180次调用。Twitter搜索属于后者,在15分钟内允许180次调用。 当向Twitter发送请求后,可以通过解析响应头来获取限制信息。该信息是基于应用/用户上下文的:

  • X-Rate-Limit-Limit: 对给定请求的访问速率上限
  • X-Rate-Limit-Remaining: 15分钟时间窗中剩余请求数
  • X-Rate-Limit-Reset: 速率限制复位前(基于UTC)的剩余时间窗秒数

一旦对Twitter的请求超过了频次限制,Twitter将返回HTTP 429 “Too ManyRequests”响应码及如下消息体:

{ "errors": [ { "code": 88, "message": "Rate limit exceeded" } ] }

除了通过解析响应头,还可以通过向Twitter发送rate_limit_status请求获取API访问限制信息。

Twitter4J对Twitter API访问频次限制的处理

Twitter4J的RateLimitStatusJSONImpl类用于处理响应头中的访问限制信息: Twitter API访问频次限制处理 Twitter4J的TwitterResponseImpl抽象类用于存放解析过的访问限制信息以供应用程序使用: Twitter API访问频次限制处理 此外,还可以注册RateLimitStatusListener监听器实例。由Twitter4J的TwitterBaseImpl类可知,当解析到响应头中的API访问频次限制信息,RateLimitStatusListener监听器实例的onRateLimitStatus方法会被调用;当收到的响应码为420"Enhance Your Claim"、503 “Service Unavailable"或429 “Too ManyRequests”,RateLimitStatusListener监听器实例的onRateLimitReached方法将会被调用。

标题:Twitter API访问频次限制处理
作者:mryqu
声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!

#twitter# #access# #rate# #limitation# #twitter4j#
[Git] 操作Git仓库已删除文件
[Git] 分支笔记
  • 文章目录
  • 站点概览

Programmer & Architect

662 日志
27 分类
1472 标签
GitHub Twitter FB Page
    • Twitter API访问频次限制
    • Twitter4J对Twitter API访问频次限制的处理
© 2009 - 2023 Mryqu's Notes
Powered by - Hugo v0.120.4
Theme by - NexT
0%