twitter4jを使ってTwitterクライアントを作っていますが、タイムラインの取得に失敗します。
取得は、javax.swing.Timerクラスを使って2秒ごとに行っています。
java
1public void actionPerformed(ActionEvent e){ 2 3 try{ 4 5 ResponseList<Status> homeTl = twitter.getHomeTimeline(); 6 for(int i = 0; i < 20; i ++){ 7 System.out.println( 8 homeTl.get(i).getUser().getName() + 9 "(@" + homeTl.get(i).getUser().getScreenName() + "):" + 10 homeTl.get(i).getText() 11 ); 12 } 13 } catch(TwitterException e){ 14 15 e.printStackTrace); 16 } 17}
コンパイルは問題なく通過します。
実行時、一番最初の読み込みは成功することが多いですが、2回目以降はエラーが多いです。
429:Returned in API v1.1 when a request cannot be served due to the application's rate limit having been exhausted for the resource. See Rate Limiting in API v1.1.(https://dev.twitter.com/docs/rate-limiting/1.1) message - Rate limit exceeded code - 88 Relevant discussions can be found on the Internet at: http://www.google.co.jp/search?q=62590fa6 or http://www.google.co.jp/search?q=08f4a3c5 TwitterException{exceptionCode=[62590fa6-08f4a3c5], statusCode=429, message=Rate limit exceeded, code=88, retryAfter=-1, rateLimitStatus=RateLimitStatusJSONImpl{remaining=0, limit=15, resetTimeInSeconds=1464873328, secondsUntilReset=9}, version=4.0.4} at twitter4j.HttpClientImpl.handleRequest(HttpClientImpl.java:164) at twitter4j.HttpClientBase.request(HttpClientBase.java:57) at twitter4j.HttpClientBase.get(HttpClientBase.java:75) at twitter4j.TwitterImpl.get(TwitterImpl.java:1786) at twitter4j.TwitterImpl.getHomeTimeline(TwitterImpl.java:105) at NoBossTweet.<init>(NoBossTweet.java:173) at NoBossTweet.main(NoBossTweet.java:23)
エラー箇所は、
ResponseList<Status> homeTl = twitter.getHomeTimeline();
です。
この状態でも、ツイートはできます。
どうすればタイムラインを取得し続けられますか?
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。