0

Twitter でフォローしている人のリストを印刷するのに問題があります。このコードは 250 人で機能しましたが、現在は 320 人をフォローしているため機能しません。

エラーの説明: コード リクエストが twitter のレート制限を超えています。コードは、制限がリセットされるのに必要な時間だけスリープしてから、再試行します。

書かれているように、中断したところから再開するのではなく、同じ拒否可能なリクエスト全体を再試行し続けるだけだと思います。

MAX_ATTEMPTS = 3
num_attempts = 0
begin
    num_attempts += 1
    @client.friends.each do |user|
        puts "#{user.screen_name}"
    end
rescue Twitter::Error::TooManyRequests => error
    if num_attempts <= MAX_ATTEMPTS
        sleep error.rate_limit.reset_in
        retry
    else
        raise
    end
end

ありがとう!

4

2 に答える 2

2

カーソルを使用してみてください: http://rdoc.info/gems/twitter/Twitter/API/FriendsAndFollowers#friends-instance_method (例: https://gist.github.com/kent/451413 )

于 2013-05-18T04:21:23.393 に答える