2016-07-20 6 views
0

私はこのコードを使用していますが、TwitterException 429 つぶやきにしようとしています。 私はツイッターアカウントのつぶやき全体を開始したいと思っています。 Twitterのレート制限の問題を解決する方法。Twitter4jどのようにすればいいですか?twitterのつぶやきは、1'stのつぶやきから処理できます。

int limitRateCounter=0; 
int countOfTweets=0; int numberOfTweets = 3500; long lastID = Long.MAX_VALUE; ArrayList<Status> status = new ArrayList<Status>();while (status.size() < numberOfTweets) { try {.out.print("\nlimit counter = "+limitRateCounter);.out.print("\t tweetsCounter = "+countOfTweets); 
List<Status> listOfStatus= 
twitter.getUserTimeline(tweeterHandle,pg); 
/* making twitter request */ 
countOfTweets=countOfTweets+listOfStatus.size(); 
status.addAll(listOfStatus); 
limitRateCounter++; 
// println("Gathered " + tweets.size() + " tweets"); 
for (Status t: status) 
if(t.getId() < lastID) lastID = t.getId(); 
} 
catch (TwitterException te) { 
System.out.println("Couldn't connect: " + te); 
//twitter=getTwitterDetails2(); 
break; 
}; 
pg.setMaxId(lastID-1); /* add pagging max id */ 
} 

120リクエスト後.getUserTimeline(tweeterHandle、pg);メソッドが受け取っていない 新しいツイート

答えて

0

Twitter4jはTwitter APIを使用してTwitterデータにアクセスします。

あなたは今、この問題に直面しているように見える:このAPIは、ここで指定されているよう呼び出しの数の制限があります。基本的には、コードがもう一度APIレート制限内に入るまで、別の呼び出しを行う前にコードを待つ必要があります。ドキュメントで指定されているように、「アクセストークン」あたりのレート制限があることを考慮してください。アクセストークンを増やすことでコードの呼び出し数を増やすことができますが、最終的には、制限する。

+0

おかげでアクセストークンを置くさえずり(10)上の複数のアカウントを作成します。 – user3698282

+0

コールを増やすために2つのトークンを使用していますが、2つ目は新しいツイートを取得しません。 – user3698282

+0

あなたが直面している問題はJavaライブラリにありません。Twitterにはレート制限があります(私はTwitterサーバーを意味します)。 Javaライブラリは、Twitter APIを呼び出すツールであり、他のライブラリは同じ問題に直面します。制限に達すると、別の電話をかける前に15分間待つことができます。 – BitExodus

0

は、あなたが私にtweitter履歴を与える任意の他のJava APIを知ってBitExodus、配列に

関連する問題