0
我試圖以執行不同的方法單獨的查詢,下面的代碼是不是我的實際代碼,但僅僅是錯誤的一個例子,我有多個查詢
Twitter twitter = new TwitterFactory(cb.build()).getInstance();
稱爲在這兩種方法,但是我得到的錯誤
IllegalStateException異常:不能再使用這個生成器,建立()已經被調用
如果我使它成爲全球性的,那麼我得到相同的錯誤, 這可能只是我愚蠢,但我無法解決它,iv現在盯着它太久了。
這裏是我的代碼:
ConfigurationBuilder cb = new ConfigurationBuilder();
double lat = 51.5171;
double lon = 0.1062;
double res = 37;
String resUnit = "mi";
public void setup(){
cb.setOAuthConsumerKey("XXXXXXXXXXXXXXXXXXXXXx");
cb.setOAuthConsumerSecret("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
cb.setOAuthAccessToken("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
cb.setOAuthAccessTokenSecret("XXXXXXXXXXXXXXXXXXXXXXXXXXXX");
queryLon();
queryBir();
}
void queryLon(){
try {
Twitter twitter = new TwitterFactory(cb.build()).getInstance();
for (int j = 0; j < 5; j++) {
Query query = new Query();
query.setRpp(100);
QueryResult result = twitter.search(new Query().geoCode(new GeoLocation(lat,lon), res, resUnit));
ArrayList tweets = (ArrayList) result.getTweets();
for (int i = 0; i < tweets.size(); i++) {
Tweet t = (Tweet) tweets.get(i);
//User u= twitter.showUser("twitter");
String location = t.getLocation();
println("Location: " + location);
}
}
}
catch (TwitterException te) {
println("Couldn't connect: " + te);
};
}
void queryBir(){
try {
Twitter twitter = new TwitterFactory(cb.build()).getInstance();
for (int j = 0; j < 5; j++) {
Query query = new Query();
query.setRpp(100);
QueryResult result = twitter.search(new Query().geoCode(new GeoLocation(lat,lon), res, resUnit));
ArrayList tweets = (ArrayList) result.getTweets();
for (int i = 0; i < tweets.size(); i++) {
Tweet t = (Tweet) tweets.get(i);
String location = t.getLocation();
println("Location: " + location);
}
}
}
catch (TwitterException te) {
println("Couldn't connect: " + te);
};
}
任何幫助,將不勝感激,乾杯。
忘了,更不用說使用Twitter4j和處理
歡呼的人,謝謝指出,我應該已經這樣做了,但睡眠不足和太多咖啡因的組合已經阻礙了我思考的能力。 – 2013-04-05 11:47:50
我覺得自己像個白癡 – 2013-04-05 11:49:42
我們都去過那裏。 – 2013-04-05 11:51:31