J'ai essayé d'utiliser les méthodes StatusListener et TwitterStream pour le faire de manière plus propre, mais il semble ne pas capturer tous les tweets des utilisateurs que je veux.Existe-t-il un meilleur moyen d'intercepter les tweets en utilisant Twitter4J?
StatusListener statusListener = new StatusListener() {
@Override
public void onStatus(Status status) {
//my code
}
//other requiredly-overriden methods
}
ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
configurationBuilder.setOAuthConsumerKey("XXXXX");
configurationBuilder.setOAuthConsumerSecret("XXXXXXX");
TwitterStream twitterStream = new TwitterStreamFactory(configurationBuilder.build()).getInstance(new AccessToken("XXXXX", "XXXXXXX"));
twitterStream.addListener(statusListener);
twitterStream.sample();
Je recoururent à vérifier manuellement toutes les 3 secondes si un nouveau tweet a été posté par les utilisateurs que je veux. Cela fonctionne parfaitement, mais semble sale et hacky. Y a-t-il un meilleur moyen?
C'est une idée merveilleuse, je ne savais même pas qu'il y avait des filtres. Et je commence le flux en utilisant la méthode sample(), correct? – Anon10W1z
Non, avec sample() vous obtenez un exemple de données de l'ensemble de TwitterStream ... et cet échantillon est très petit. Le flux commence avec twitterStream.filter (filtre); :) – FeanDoe
J'ai compris. Merci de votre aide. Mais le flux reprend toujours les tweets dans le passé, même si j'utilise filterQuery.count (0) ... – Anon10W1z