我想按位置和語言過濾twitter流。但面臨錯誤。在鏈接中提到巴基斯坦Twitter流經緯度框
我已經使用位置參數 Passing Longitude and Latitude in Twitter Streaming API of Pakistan
錯誤: 7924 [Twitter的數據流的消費1建立連接] WARN twitter4j.TwitterStreamImpl - 不與角色接受的參數。 406:在請求中指定無效格式時,由Search API返回。
當一個或多個參數不適合資源時,由Streaming API返回。例如,track參數會在以下情況下引發此錯誤:
track關鍵字太長或太短。
指定的邊界框無效。
沒有爲篩選的資源定義謂詞,例如,既沒有跟蹤也沒有遵循 定義的參數。
按照用戶ID不能被讀取。
找不到過濾器參數。預計至少有一個參數:跟蹤位置
LinkedBlockingQueue<Status> queue = new LinkedBlockingQueue<Status>(1000);
SpoutOutputCollector _collector = collector;
StatusListener listener = new StatusListener() {
@Override
public void onStatus(Status status) {
System.out.println(status.getLang());
System.out.println(status.getPlace());
System.out.print(status.getText());
}
@Override
public void onDeletionNotice(StatusDeletionNotice sdn) {
}
@Override
public void onTrackLimitationNotice(int i) {
}
@Override
public void onScrubGeo(long l, long l1) {
}
@Override
public void onException(Exception e) {
}
@Override
public void onStallWarning(StallWarning arg0) {
// TODO Auto-generated method stub
}
};
TwitterStreamFactory fact = new TwitterStreamFactory(new ConfigurationBuilder().setUser(_username).setPassword(_pwd).build());
TwitterStream _twitterStream = fact.getInstance();
_twitterStream.addListener(listener);
ArrayList<Long> follow = new ArrayList<Long>();
ArrayList<String> track = new ArrayList<String>();
long[] followArray = new long[follow.size()];
String[] trackArray = track.toArray(new String[track.size()]);
/**
* Upper/northern latitude that marks the
* upper bounds of the geographical area
* for which tweets need to be analysed.
*/
double northLatitude = 35.2;
/**
* Lower/southern latitude. Marks the lower bound.
*/
double southLatitude = 25.2;
/**
* Eastern/left longitude. Marks the left-side bounds.
*/
double eastLongitude = 62.9;
/**
* Western/right longitude. Marks the right-side bounds.
*/
double westLongitude = 73.3;
double bb[][] = {{eastLongitude, southLatitude}
,{westLongitude, northLatitude}};
_twitterStream.filter(new FilterQuery(0, followArray,trackArray,bb,new String[]{"en-US"}));
.
請幫我,我錯在哪裏?
問題尋求幫助調試(「**爲什麼不是這個代碼工作的**?」)必須包括所期望的行爲,一個特定的問題或錯誤的和必要的最短的代碼在問題本身**中重現它**。沒有**明確問題陳述**的問題對其他讀者沒有用處。請參見[如何創建最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。 – DavidPostill 2014-08-29 09:02:56
我已經上傳部分代碼。因爲這個代碼在Storm中使用。 Storm代碼太大。我的問題是,FilterQuery發送錯誤的位置是無效的。但我提到了位置邊界框。你明白我的觀點了嗎? – 2014-08-29 11:04:09
@IshwarLal是否收到來自巴基斯坦的推文?你在追加數組中添加了什麼? – kashifmehmood 2015-01-20 15:27:04