我可以请求/过滤twitter流API以仅返回带有地理标记的推文吗?

TG_*_*att 4 java twitter twitter4j

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

现在我从twitter获得未经过滤的流,只保存带地理标记的推文.这很慢,因为VAST的大部分推文都没有地理标签.我希望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();
Run Code Online (Sandbox Code Playgroud)

有关为什么我仍然收到没有地理标记的推文的任何建议?

编辑:我只是重新阅读twitter4j javadoc,在Twitter流中添加过滤器,并说"默认访问级别允许最多200个跟踪关键字,400个跟随用户ID和10个1度位置框." 边界框可能只有1度宽?这与我遇到的原始信息不同.那是我的问题吗?我的过滤请求太大,以至于被忽略了?尝试使用它时我没有收到任何错误.

nir*_*jju 7

从过滤器流获取然后用样本流覆盖它.

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