2011-12-03 3 views
0

이전에 Twitter API를 사용해 본적이 없습니다.Twitter gem, Heroku, 내부 서버 오류

나는 Sinatra 응용 프로그램을 Twitter의 보석을 사용하는 Heroku에 넣었습니다. 응용 프로그램에서 (트위터가 관련된 한) 내가하는 유일한 일은 내 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 만난 것 같다 :

나머지 API는 account- 및 IP 기반의 속도 제한을 수행합니다. 인증되지 않은 호출에는 시간당 150 개의 요청이 허용됩니다. 인증되지 않은 통화는 요청하는 서버 또는 장치의 공용 IP에 대해 측정됩니다.

OAuth를 호출은 시간 당 350 개 요청을 허용하고 요청에 사용의 oauth_token에 대해 측정 :

봅니다 OAuth 인증을 사용합니다.

+0

차갑다. 고마워, 나는 그것을 시험해 볼 것이다. 이상하지만, 나는 잠에서 깨어났다. 나는 잠 들어있는 동안 아무도 내 사이트를 방문하지 않았다고 생각한다. 그러나 나는 오류가있다. – cabaret

+0

네트워크 내의 다른 누군가가 그 시간 동안 피드에 액세스 할 수 있었습니까? 누가 알아?) – WarHog

+0

사실 일 수도 있습니다. OAuth 인증을 추가하고 다시 시도해 보겠습니다. 빠른 답장을 보내 주셔서 감사합니다! – cabaret