Щебетать, Heroku, Внутренняя ошибка сервера - PullRequest
0 голосов
/ 03 декабря 2011

Я раньше не работал с Twitter API.

У меня есть приложение Sinatra, отправленное в 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?

Я не аутентифицируюсь или что-то в этом роде. Немного запутался.

1 Ответ

2 голосов
/ 03 декабря 2011

Похоже, вы выполнили ограничение скорости Twitter для неавторизованных пользователей / учетных записей:

REST API ограничивает учетные записи и IP-адреса.Неаутентифицированные звонки разрешены 150 запросов в час.Неаутентифицированные вызовы сравниваются с общедоступным IP-адресом сервера или устройства, отправляющего запрос.

Попробуйте использовать OAuth аутентификацию:

OAuth-вызовы разрешены 350 запросовв час и сравниваются с oauth_token, используемым в запросе.

...