【问题标题】:Twitter API Rate Limit for Multiple Users多个用户的 Twitter API 速率限制
【发布时间】:2012-04-30 11:18:14
【问题描述】:

我正在使用 Twitter API 编写一个基于 PHP 的应用程序。到目前为止,我一直在通过 PHP 页面上的 GET 请求使用 REST API。但是,随着我的应用程序扩展,我可以很容易地看到它超过了每小时 150 个请求的限制。原因如下:

我有多个主题类别,每个主题都会定期轮询 Twitter API 以获取围绕某个主题的推文。例如,我有:mysite.com/cars、mysite.com/trucks 等。用户可以访问任一页面。当他在页面上时,通过对我设置的 PHP 页面进行 AJAX 调用,从 Twitter 获取实时、令人耳目一新的更新。 PHP 页面确定用户来自哪个类别(汽车、卡车),轮询 Twitter 以获取搜索结果,然后将 JSON 返回到类别页面。这听起来令人困惑,但有许多不相关的原因我需要中间 PHP 页面。

问题在于,由于 PHP 页面正在发出请求,它会很快耗尽速率限制(想象一下,如果有 20 个类别,而不仅仅是汽车和卡车)。我不能使用多个参数进行单个调用,因为它会组合多个类别的推文,我无法将它们分开。我可以缓存结果,但如果我这样做了,我添加的类别越多,每个 API 调用之间的时间就越长。

那么我该如何解决这个问题呢?我查看了流 API,但它仅适用于 oAuth 的用户,我不希望我的用户必须登录任何东西。我可以在 PHP 页面上使用流,然后每次类别页面轮询 PHP 页面时都发出连续请求吗?感谢您的帮助!

【问题讨论】:

  • 使用缓存。您可以缓存来自 twitter 的每个响应,然后将缓存的内容重新用于其他用户。这只有在用户之间有大量重叠时才会有所帮助。

标签: php api twitter twitter-oauth


【解决方案1】:

a) 您不必在流 API 中使用您网站用户的 oAuth 凭据 - 只需您的: 将它们放在 dev.twitter.com 的某个位置并对其进行硬编码。您的用户不会知道后台有任何 oAuth。

b) 不要使用匿名请求(每个 IP 每小时 150 个)使用 oAuth 请求(每个 oAuth 每小时 350 个)。您不必要求您的用户登录 - 只需登录几个(1 足以开始)您的私人 Twitter 帐户。如果您不喜欢创建 twitter 登录功能,您可以在 dev.twitter.com 中为您的 twitter 应用程序获取您的 twitter 帐户的凭据。

c)正如@Cheeso 提到的 - 缓存!不要让每个页面加载都发出 twitter 请求。

【讨论】:

    猜你喜欢
    • 2014-08-05
    • 1970-01-01
    • 2011-01-20
    • 2019-02-09
    • 1970-01-01
    • 2022-08-22
    • 1970-01-01
    • 2022-11-10
    • 2012-03-08
    相关资源
    最近更新 更多