关于 Twitter API 速率限制的问题 - GET users/show
Posted
技术标签:
【中文标题】关于 Twitter API 速率限制的问题 - GET users/show【英文标题】:Twitter API rate limiting - GET users/show 【发布时间】:2021-10-26 20:19:48 【问题描述】:我有兴趣在我的 android 应用程序中使用 twitter API 获取用户的关注者数量。
我怀着极大的兴趣阅读官方 twitter API 文档,但有些地方我不清楚。
据我了解,如果我只对关注者数量感兴趣,只是数量,我必须在 API 中使用 GET users/show。 对服务器的此调用速率为 900 个配置文件/15 分钟。
但是,我读到此限制适用于我拥有的每个用户 TOKEN。
我的问题是:
如果我的应用程序安装在例如 1,000 部手机上,我的应用程序将只能在 15 分钟内从 1,000 部手机向服务器发出 900 次查询?或者每个拥有不同用户的手机将能够在 15 分钟内进行 900 次查询。
希望我的解释正确。
谢谢和最好的问候。
【问题讨论】:
【参考方案1】:在Twitter API v2 rate limits 部分:用户查找有限制300 per app
和900 per user
。这些请求也是针对per 15-minute window
的,如该部分所述。您的意思是 1,000 部手机,我理解为 1,000 名 Twitter 用户通过 Twitter 登录登录到您的应用程序,如果不是将 900 更改为 300 用于休息。但是,当您在带有“请注意”标题的推特蓝色框中向下滚动时,会出现一条注释。这些注释说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 个请求。这将取决于用户在其他 Twitter 应用中的活动。
我建议您检查该页面上称为 HTTP 标头和响应代码、从速率限制中恢复以及避免被速率限制的提示的部分。
【讨论】:
【参考方案2】:首先,/1.1/users/show
已替换为 /2/users
,因此以后使用后者。如果 300-bearer/900-user-contexts 速率限制过于繁琐,有以下三种可能:
-
考虑升级到高级版或企业版,
考虑使用具有适当高速率限制的非
User
v2 端点并且公开expansions
参数,该参数可用于在响应中返回您正在寻找的这些数据,
如果允许,请考虑缓存这些数据。
v2 的 API 文档对于理解 expansions
参数的工作原理非常有帮助,但作为一个粗略的总结,它允许对 Tweet
对象的请求包含其他属性,例如相应的 @ 987654327@,比如粉丝数。
【讨论】:
以上是关于关于 Twitter API 速率限制的问题 - GET users/show的主要内容,如果未能解决你的问题,请参考以下文章
如何避免使用 tweepy Twitter API 的速率限制?
如何将 Twitter API 用于超过 REST 速率限制的大型 Web 应用程序
阅读没有 oauth 但对我的应用程序有速率限制的 twitter 用户时间线