Java 我可以请求/过滤推特流api以仅返回带有地理标记的推特吗?

Java 我可以请求/过滤推特流api以仅返回带有地理标记的推特吗?,java,twitter,twitter4j,Java,Twitter,Twitter4j,我正在使用twitter4j库访问公共twitter流。我正在尝试制作一个涉及地理标记推文的项目,我需要收集大量推文进行测试 现在我从twitter上获取未过滤的流,只保存带有地理标签的推文。这是缓慢的,因为绝大多数推特没有地理标签。我希望twitter流只向我发送带有地理标签的推文 我尝试过使用中提到的方法,使用大小为360*180*的边界框进行过滤,但这对我不起作用。在使用该过滤器时,我没有收到任何错误,但我仍然收到99%没有地理标签的推文。我是这样做的: ConfigurationBuil

我正在使用twitter4j库访问公共twitter流。我正在尝试制作一个涉及地理标记推文的项目,我需要收集大量推文进行测试

现在我从twitter上获取未过滤的流,只保存带有地理标签的推文。这是缓慢的,因为绝大多数推特没有地理标签。我希望twitter流只向我发送带有地理标签的推文

我尝试过使用中提到的方法,使用大小为360*180*的边界框进行过滤,但这对我不起作用。在使用该过滤器时,我没有收到任何错误,但我仍然收到99%没有地理标签的推文。我是这样做的:

ConfigurationBuilder cb = new ConfigurationBuilder();
    cb.setDebugEnabled(true)
    .setOAuthConsumerKey("censored")
    .setOAuthConsumerSecret("censored")
    .setOAuthAccessToken("censored")
    .setOAuthAccessTokenSecret("censored");

TwitterStream twitterStream = newTwitterStreamFactory(cb.build()).getInstance();
StatusListener listener = new MyStatusListener();
twitterStream.addListener(listener);

//add location filter for what I hope is the whole planet. Just trying to limit
//results to only things that are geotagged
FilterQuery locationFilter = new FilterQuery();
double[][] locations = {{-180.0d,-90.0d},{180.0d,90.0d}};

locationFilter.locations(locations);

twitterStream.filter(locationFilter);

twitterStream.sample();
关于为什么我仍然收到没有地理标签的推文,有什么建议吗


编辑:我刚刚重读了关于在推特流中添加过滤器的文章,它说“默认访问级别允许最多200个跟踪关键字,400个跟踪用户ID和10个1度位置框。”所以边界框可能只有1度宽?这与我看到的原始信息不同。这是我的问题吗?我的筛选请求太大,因此被忽略?在尝试使用它时,我没有收到任何错误。

从筛选器流获取,然后用示例流覆盖它


删除最后一行:
twitterStream.sample()

哇,谢谢你的回答。我差点忘了这个问题。我仍然收到一些没有地理标签的推文,但这是一个很大的进步。以前我只有大约1/1000条带有地理标签的推文,现在我有大约3/5的带有地理标签的推文。我不知道为什么我仍然错过了一些,但这肯定有帮助。