Twitter gem,Heroku,内部服务器错误

时间:2011-12-03 11:36:26

标签: ruby twitter heroku sinatra twitter-gem

之前我没有使用Twitter API。

我有一个Sinatra应用程序被推送到Heroku,它使用了Twitter的宝石。我在应用程序中做的唯一事情(就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请求?

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

1 个答案:

答案 0 :(得分:2)

对于unauth用户/帐户,您似乎遇到了Twitter's Rate limit

  

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

尝试使用OAuth身份验证:

  

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