0

私はこれまで Twitter API を使用したことがありません。

Twitter gem を利用する 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 への無制限 (またはほぼ無制限) のリクエストを取得する方法はありますか?

私は認証していません。少し混乱しました。

4

1 に答える 1

2

認証されていないユーザー/アカウントに対するTwitter のレート制限に達したようです:

REST API は、アカウントおよび IP ベースのレート制限を行います。認証されていない呼び出しは、1 時間あたり 150 リクエストまで許可されます。認証されていない呼び出しは、要求を行っているサーバーまたはデバイスの公開 IP に対して測定されます。

OAuth認証を使用してみてください:

OAuth 呼び出しは、1 時間あたり 350 リクエストまで許可され、リクエストで使用される oauth_token に対して測定されます。

于 2011-12-03T11:46:08.537 に答える