我有一个使用 Twitter API 的网站。问题是,一旦达到 API 限制(我认为),网站就会变成空白,然后过了一会儿它开始显示结果。
我在 GAE apppot 上运行。因为我有appspot子域,这是否意味着我永远不会被列入黑名单?
当我可以直接公开搜索 Twitter 时,Twitter API 的用途是什么?
我有一个使用 Twitter API 的网站。问题是,一旦达到 API 限制(我认为),网站就会变成空白,然后过了一会儿它开始显示结果。
我在 GAE apppot 上运行。因为我有appspot子域,这是否意味着我永远不会被列入黑名单?
当我可以直接公开搜索 Twitter 时,Twitter API 的用途是什么?
不,您的应用程序可能会被列入黑名单。
REST API 执行基于帐户和 IP 的速率限制。
根据他们的文档,在这种情况下(在 Google App Engine 中),您甚至不能在他们的白名单中:
(...) 这在大多数情况下都有效,但对于像 Google App Engine 这样的云平台,没有静态 IP 地址的应用程序无法接收搜索白名单。(...)
(重点是我的)
阅读 Twitter速率限制以获取有关其他限制和信息的完整信息。
如果您的应用程序由于超出限制而被阻止,那么您应该得到一个 400 HTTP 响应代码。如果您编写的应用程序在 HTTP 失败时会生成一个空白页面,那么您就有了答案。(如何在特定的开发框架中检查 HTTP 错误是另一回事。)
您应该使用 API 而不是抓取公共 Twitter 页面,因为 IP 地址受 API 速率限制,就像经过身份验证的 API 帐户一样。当您使用您的帐户进行身份验证时,您不受 IP 限制,因此其他人从同一 IP 地址滥用 Twitter(可能发生在 Google 等共享服务器环境中)不会限制您的使用。这一切都在Twitter的速率限制文档中进行了解释。