【发布时间】: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