Hi
I've got twitter4j working on a streaming basis - e.g. to capture live tweets as they come in (by hashtag). Is there a way instead to just do a once off search by hashtag?
Current code below
import twitter4j.*;
import twitter4j.api.*;
import twitter4j.auth.*;
import twitter4j.conf.*;
import twitter4j.json.*;
import twitter4j.management.*;
import twitter4j.util.*;
import twitter4j.util.function.*;
static String OAuthConsumerKey = "";
static String OAuthConsumerSecret = "";
static String AccessToken = "";
static String AccessTokenSecret = "";
String keywords[] = {"#processing"};
void setup(){
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setOAuthConsumerKey(OAuthConsumerKey);
cb.setOAuthConsumerSecret(OAuthConsumerSecret);
cb.setOAuthAccessToken(AccessToken);
cb.setOAuthAccessTokenSecret(AccessTokenSecret);
TwitterStream twitterStream = new TwitterStreamFactory(cb.build()).getInstance();
twitterStream.addListener(listener);
size(200, 200);
if (keywords.length==0){
twitterStream.sample();
}
else{
twitterStream.filter(new FilterQuery().track(keywords));
}
}
void draw() {
}
StatusListener listener = new StatusListener(){
public void onStatus(Status status){
String tweet = status.getText();
String user = "@" + status.getUser().getScreenName();
tweet = user + " - " + tweet;
println(tweet);
}
public void onDeletionNotice(StatusDeletionNotice statusDeletionNotice) {
//System.out.println("Got a status deletion notice id:" + statusDeletionNotice.getStatusId());
}
public void onTrackLimitationNotice(int numberOfLimitedStatuses) {
// System.out.println("Got track limitation notice:" + numberOfLimitedStatuses);
}
public void onScrubGeo(long userId, long upToStatusId) {
System.out.println("Got scrub_geo event userId:" + userId + " upToStatusId:" + upToStatusId);
}
public void onException(Exception ex) {
ex.printStackTrace();
}
public void onStallWarning(StallWarning warning){
}
};