package edu.usc.cssl.tacit.crawlers.twitter.services;
import java.util.ArrayList;
import twitter4j.GeoLocation;
import twitter4j.Query;
import twitter4j.QueryResult;
import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.conf.ConfigurationBuilder;
public class TwitterTestProgram {
public static void main(String[] args) {
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setOAuthConsumerKey("92Oyts2p7ReEoX685HrkRtyKf");
cb.setOAuthConsumerSecret("w0WKnERAzXgEIZamk7ZFGsoJpEQIaOIu7unHRSm70KCdcGKj9k");
cb.setOAuthAccessToken("92947251-heF2D7kiE4HqCsVU30dRIwPYnT8lYUC4WqwJ2p21o");
cb.setOAuthAccessTokenSecret("vriNhyoecjOYZTM58Eew4ti2cMQH2Bdd9b320WNPmDBYT");
Twitter twitter = new TwitterFactory(cb.build()).getInstance();
Query query = new Query("obama");
int numberOfTweets = 512;
long lastID = Long.MAX_VALUE;
ArrayList<Status> tweets = new ArrayList<Status>();
while (tweets.size () < numberOfTweets) {
if (numberOfTweets - tweets.size() > 100)
query.setCount(100);
else
query.setCount(numberOfTweets - tweets.size());
try {
QueryResult result = twitter.search(query);
tweets.addAll(result.getTweets());
System.out.println("Gathered " + tweets.size() + " tweets");
for (Status t: tweets)
if(t.getId() < lastID) lastID = t.getId();
}
catch (TwitterException te) {
System.out.println("Couldn't connect: " + te);
};
query.setMaxId(lastID-1);
}
for (int i = 0; i < tweets.size(); i++) {
Status t = (Status) tweets.get(i);
GeoLocation loc = t.getGeoLocation();
String user = t.getUser().getScreenName();
String msg = t.getText();
String time = "";
if (loc!=null) {
Double lat = t.getGeoLocation().getLatitude();
Double lon = t.getGeoLocation().getLongitude();
System.out.println(i + " USER: " + user + " wrote: " + msg + " located at " + lat + ", " + lon);
}
else
System.out.println(i + " USER: " + user + " wrote: " + msg);
}
}
}