如何通过Twitter4J查询中的自/直到参数过滤推文?
我正在使用twitter4j通过坐标收听twitter流,没有任何输入关键字,因为我知道TwitterAPI只提供过去7天的推文。我的代码工作很有趣,我有一个网络问题,我无法获得2天前的流。我需要获得2018年4月22日和2018年4月23日的推文。我需要使用until参数来获取这些tweet,但在没有任何输入查询的情况下,我看不到任何使用until参数的示例。下面是我在给定坐标中侦听流时的代码语句,如何添加until参数以获得过去2天的流如何通过Twitter4J查询中的自/直到参数过滤推文?,twitter,twitter4j,tweetstream,Twitter,Twitter4j,Tweetstream,我正在使用twitter4j通过坐标收听twitter流,没有任何输入关键字,因为我知道TwitterAPI只提供过去7天的推文。我的代码工作很有趣,我有一个网络问题,我无法获得2天前的流。我需要获得2018年4月22日和2018年4月23日的推文。我需要使用until参数来获取这些tweet,但在没有任何输入查询的情况下,我看不到任何使用until参数的示例。下面是我在给定坐标中侦听流时的代码语句,如何添加until参数以获得过去2天的流 double latitude1 =
double latitude1 = 36.000000;
double longitude1 = 26.000000;
double latitude2 = 42.000000;
double longitude2 = 45.000000;
double[][] latlong = {{longitude1, latitude1}, {longitude2, latitude2}};
twitterStream.addListener(listener);
FilterQuery fq = new FilterQuery();
fq.locations(latlong);
twitterStream.filter(fq);
所以问题是如何使用FilterQuery和until
我试过如下的方法
MyConnectionBuilder myConnection = new MyConnectionBuilder();
Twitter twitter = new
TwitterFactory(myConnection.configuration.build()).getInstance();
double latitude1 = 42.000000;
double longitude1 = 45.000000;
Query query = new Query();
GeoLocation obj = new GeoLocation(latitude1, longitude1);
query.setGeoCode(obj, 2000, Unit.valueOf("km"));
query.setSince("20180421");
query.setUntil("20180422");
query.setLang("tr");
QueryResult result = twitter.search(query);
for (Status status : result.getTweets()) {
System.out.println("@" + status.getUser().getScreenName() + ":" + status.getText());
}
但结果查询没有任何结果,这些代码语句有什么问题 Twitter4J的Query
类告诉我们关于setSince
:
如果指定,则返回自给定日期起的tweet
日期的格式应为YYYY-MM-DD
因此,必须以字符串格式设置日期,例如“2018-04-21”。请注意,这里使用的破折号不是原始代码段中提供的
类似地,您必须将此日期模式样式应用于setUntil
:
如果指定,则返回给定日期之前生成的推文
日期的格式应为YYYY-MM-DD
希望这有帮助