Twitter API 速率限制 - GET users/show

Twitter API rate limiting - GET users/show

我有兴趣在我的 Android 应用程序中获取使用 Twitter API 的用户的关注者数量。

我正在以极大的兴趣阅读官方 twitter API 文档,但是有一些我不清楚的地方。

据我了解,如果我只对关注者的数量感兴趣,那么我必须在 API 中使用 GET users/show。 此对服务器的调用有 900 profile/15 分钟的速率。

但是,我了解到此限制适用于我拥有的每个用户令牌。

我的问题是:

如果我的应用程序安装在例如 1,000 部手机上,我的应用程序将只能从这 1,000 部手机向服务器发出 900 次查询 15 分钟?或者每部手机,每个手机都有不同的用户,将能够在 15 分钟内进行 900 次查询。

Twitter API v2 rate limits 部分中:用户查找有限制 300 per app900 per user。如该部分所述,这些请求也是针对 per 15-minute window 的。你的意思是 1,000 部手机,我理解为 1,000 名 Twitter 用户通过 Twitter 登录登录到你的应用程序,如果没有将 900 更改为 300 以供休息。但是,当您在标题为 'Please note' 的 twitter 蓝色框内向下滚动时,会出现一条注释。这些注释说 Users' rate limits are shared across all Apps that they have authorized.

除了一开始它说:

The maximum number of requests that are allowed is based on a time interval, some specified period or window of time. The most common request limit interval is fifteen minutes. If an endpoint has a rate limit of 900 requests/15-minutes, then up to 900 requests over any 15-minute interval is allowed.

总而言之,您每 15 分钟最多可以使用 900 个请求。这将取决于用户 activity 与其他 Twitter 应用程序的使用情况。

我建议您查看名为 HTTP headers 的页面和响应代码、从速率限制中恢复以及避免速率限制的提示部分。

首先,/1.1/users/show 已替换为 /2/users,因此以后使用后者。如果300-bearer/900-user-contexts rate limit太麻烦,有3种可能:

  1. 考虑升级到高级版或企业版,
  2. 考虑使用具有适当高速率限制的非User v2 端点并且公开expansions参数,该参数可用于return在你要查找的这些数据的响应中,
  3. 如果允许,考虑缓存这些数据。

v2 的 API 文档对于理解 expansions 参数的工作原理非常有帮助,但作为一个粗略的总结,它允许请求,例如,一个 Tweet 对象包含其他属性,例如相应的 User,例如关注者人数。