2011-12-03 25 views
0

我之前没有使用Twitter API。Twitter宝石,Heroku,内部服务器错误

我有一个Sinatra应用程序推送到使用Twitter宝石的Heroku。我在应用程序中做的唯一事情(就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获得无限(或几乎无限)的请求?

我不认证或任何东西。有点困惑。

回答

2

看来你已经为UNAUTH用户/帐户满足Twitter's Rate limit

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

尝试使用OAuth认证:

OAuth的呼叫被允许每小时350个请求和是针对在请求中使用的组oauth_token测量。

+0

很酷。谢谢,我会尝试。奇怪,虽然我刚醒来,但我并不认为有人在我睡着的时候访问过我的网站,但我得到了错误。 – cabaret

+0

也许您网络中的其他人可以在那个小时内访问Feed?谁知道? ) – WarHog

+0

是的,也许可以。我将添加OAuth身份验证并再次尝试:)感谢大家的快速回复! – cabaret