2011-12-03 51 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