0

我以前没有使用过 Twitter API。

我有一个 Sinatra 应用程序被推送到 Heroku,它使用了 Twitter gem。我在应用程序中做的唯一一件事(就 Twitter 而言)就是提取我的 5 条最新推文。

  @tweets = Twitter.user_timeline("username").first(5)

然而,昨晚我无法让它工作,Heroku 抛出了一个内部服务器错误,日志告诉我:

2011-12-03T11:30:08+00:00 app[web.1]: Twitter::Error::BadRequest - : Rate limit exceeded. Clients may not make more than 150 requests per hour.:

和堆栈跟踪。重新启动应用程序使其再次工作。

今天我醒来,检查了我的heroku应用程序,我再次收到内部服务器错误..

我能做些什么来完成这项工作?有没有办法让它缓存推文以防它抛出一个 BadRequest 错误,或者有没有办法让 Twitter 获得无限(或几乎无限)的请求?

我没有进行身份验证或其他任何事情。有点糊涂。

4

1 回答 1

2

您似乎已达到Twitter对未授权用户/帐户的速率限制:

REST API 执行基于帐户和 IP 的速率限制。未经身份验证的呼叫允许每小时 150 个请求。未经身份验证的呼叫是根据发出请求的服务器或设备的面向公众的 IP 来衡量的。

尝试使用OAuth身份验证:

OAuth 调用每小时允许 350 个请求,并根据请求中使用的 oauth_token 进行测量。

于 2011-12-03T11:46:08.537 回答