多个用户的 Twitter API 速率限制


Twitter API Rate Limit for Multiple Users

我正在使用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 页面时发出连续请求吗?感谢您的任何帮助!

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

b) 不要使用匿名请求(每个

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

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