【问题标题】:Twitter API call limit - per token or per IP?Twitter API 调用限制 - 每个令牌或每个 IP?
【发布时间】:2016-08-04 11:59:24
【问题描述】:

我正在开发一项功能,为特定的高音扬声器用户显示最近的 5 条推文。我正在使用仅限应用程序的身份验证并获取承载令牌来查询高音 API。

我看到每 15 分钟对 Twitter API 的请求数有限制。 https://dev.twitter.com/rest/public/rate-limits

                                        user auth        app auth
GET statuses/user_timeline  statuses    180              300

我的问题是限制是每个承载令牌还是每个 IP? 例如,如果

  1. 用户 A 和用户 B 使用同一个令牌,查询同一个用户的时间线(例如,雅虎),每个用户每 15 分钟的限制是 300/2 吗?

    李>
  2. 用户 A 和用户 B 使用相同的令牌,查询不同用户的时间线(例如,一个用于谷歌,一个用于雅虎),每个用户每 15 分钟的限制是否为 300/2?

【问题讨论】:

    标签: api authentication twitter access-token


    【解决方案1】:
    1. 是的,它会被2除。对于这种情况,建议对用户凭据使用用户身份验证。

    2. 速率限制在端点上。因此,如果您执行 5 个以 statuses/user_timeline statuses 开头的请求,则只会保留 295 个请求。

    我不确定您是否了解 c#,但您可以使用 Twitter 库 Tweetinvi 轻松检查,如下所示:

    var remainingBefore = RateLimit.GetCurrentCredentialsRateLimits().StatusesUserTimelineLimit.Remaining;
    var tweets = Timeline.GetUserTimeline(userId);
    var remainingAfter = RateLimit.GetCurrentCredentialsRateLimits().StatusesUserTimelineLimit.Remaining;
    

    【讨论】:

    • 感谢您的回复。我们的功能不希望用户登录。因此,用户身份验证不适用于我们的案例。在第二点,这意味着如果有 300 个用户使用相同的令牌来请求状态/用户时间线状态。那么限制将立即达到,然后这 300 个用户将无法在这 15 分钟的时间段内请求 statuses/user_timeline 状态?
    • 你是对的。人们通常用来规避问题的另一种方法是创建多个他们依次使用的代币。但是,如果您不希望用户进行身份验证,则需要使用自己的帐户创建用户令牌。
    • 感谢您的回复。你说的用户令牌是Twitter应用设置中的Access Token——Keys and Access Tokens?如果是这种情况,我只能应用一个访问令牌。请问这个Access Token和Bearer Token有什么区别?
    • 当我谈到 UserToken 时,我指的是 AccessToken 和 AccessTokenSecret。我通常将它们称为用户令牌,因为它们是用户和应用程序之间的唯一令牌。如果您有多个通过 Twitter REST API 授权您的应用程序的帐户,则您可以拥有多个“AccessToken”。 BearerToken 的作用不同,因为它是您的应用程序所独有的。如果您拥有所需的所有信息,请将问题设置为已回答。
    • 嘿@Linvi,很抱歉挖掘了一个非常古老的线程。我有一个用例,我想每隔几秒(或几分钟)获取一个用户的时间线。我想知道我需要关注哪些速率限制? The docs 提及 900 per user1500 per auth。我不完全确定这意味着什么。我的仪表板中也有一个项目和一个独立的应用程序。我该怎么办?任何帮助表示赞赏?
    猜你喜欢
    • 1970-01-01
    • 2019-02-09
    • 2016-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-24
    • 2019-11-02
    相关资源
    最近更新 更多