我正在嘗試向Twitter REST API形成查詢。有沒有辦法將GPS座標傳遞到查詢中,並返回位於該位置特定半徑內的推文。Twitter - 查詢特定地理位置半徑內的推文
0
A
回答
0
試試下面這段代碼。在嘗試之前,您必須將一些值寫入keyword
,latitude
,longitude
和radius
。 keyword
是您搜索的內容,我認爲您可以理解其他值的含義。
try {
Query query = new Query(keyword); //
GeoLocation location = new GeoLocation(latitude, longitude);
String unit = Query.KILOMETERS; // or Query.MILES;
query.setGeoCode(location, radius, unit);
QueryResult result;
do {
result = twitter.search(query);
List<Status> tweets = result.getTweets();
for (Status tweet : tweets) {
System.out.println("@" + tweet.getUser().getScreenName() + " - " + tweet.getText());
}
} while ((query = result.nextQuery()) != null);
} catch (TwitterException te) {
System.out.println("Failed to search tweets: " + te.getMessage());
System.exit(-1);
}
1
使用GET search/tweets端點,您可以指定地理編碼和半徑以從該區域內獲取一組Tweets。參數值如下:緯度,經度,半徑。
例:37.781157,-122.398720,1mi
0
基於@Seohyun Choi的回答,這是完整的帶驗證碼的java代碼。 在編譯此代碼之前,請在路徑中添加twitter4j-core-3.0.5.jar。
import java.util.List;
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 TweetsInParticularLocation {
private static final String TWITTER_CONSUMER_KEY = "****";
private static final String TWITTER_SECRET_KEY = "*****";
private static final String TWITTER_ACCESS_TOKEN = "****";
private static final String TWITTER_ACCESS_TOKEN_SECRET = "***";
public static void main(String arg[])
{
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey(TWITTER_CONSUMER_KEY)
.setOAuthConsumerSecret(TWITTER_SECRET_KEY)
.setOAuthAccessToken(TWITTER_ACCESS_TOKEN)
.setOAuthAccessTokenSecret(TWITTER_ACCESS_TOKEN_SECRET);
TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = tf.getInstance();
try {
Query query = new Query("India"); //
GeoLocation location = new GeoLocation(20.593684, 78.962880); //latitude, longitude
String unit = Query.KILOMETERS; // or Query.MILES;
query.setGeoCode(location, 1, unit); //location, radius, unit
QueryResult result;
do {
result = twitter.search(query);
List<Status> tweets = result.getTweets();
for (Status tweet : tweets) {
System.out.println("@" + tweet.getUser().getScreenName() + " - " + tweet.getText());
}
} while ((query = result.nextQuery()) != null);
} catch (TwitterException te) {
System.out.println("Failed to search tweets: " + te.getMessage());
System.exit(-1);
}
}}
相關問題
- 1. 推薦一個web服務來處理特定半徑內的位置?
- 2. 我想只顯示特定半徑的地理位置內的標記?
- 3. 地理位置API並在半徑範圍內查找用戶
- 4. Mongodb公里半徑的查詢位置?
- 5. Google地理位置和半徑
- 6. 安卓半徑環繞地理位置
- 7. 緯度和長地理半徑查詢
- 8. html5地理位置在半徑範圍內搜索
- 9. 位置在一個地理位置科多瓦應用程序內的半徑
- 10. 推文的Twitter API位置
- 11. 在Android中查找給定半徑內的附近位置
- 12. Rails谷歌地圖檢查點是否位於特定半徑範圍內
- 13. HTML5地理位置 - 檢測特定區域內的位置
- 14. 使用Twitter API確定推文位置
- 15. 獲取半徑範圍內的位置
- 16. 從谷歌地圖api v3中刪除地理位置半徑
- 17. 查詢具有半徑的場地
- 18. Twitter地理位置/搜索
- 19. 基於地理半徑對推文進行聚類的算法
- 20. 瞭解推文上的地理位置
- 21. 特定半徑內的郵編
- 22. 使用Google地圖和推文的地理位置
- 23. HTML5地理位置中經度和緯度的半徑
- 24. 使用PHP和MySQL的地理位置半徑搜索
- 25. 檢索給定位置的半徑?
- 26. 特定圓半徑
- 27. 當前的位置是在一個特定的半徑Android
- 28. 查詢與SQL,地理座標和半徑重疊的區域
- 29. 推特在Twitter Bootstrap 2.0定位?
- 30. 如何搜索特定半徑的位置?
是否有使用Twitter4J Query做到這一點? – user3461851