我正在努力通过twitter4j api获取其他用户提到的时间轴。我可以发现只有获得其他用户的UserTimeline才有可能。似乎没有办法让其他用户的提及时间表 (我发现here - 查找“Interface TimelinesResources”)如何通过twitter4j api获取其他用户提及的twitter时间轴?
有没有办法让其他用户提到时间线?
我正在努力通过twitter4j api获取其他用户提到的时间轴。我可以发现只有获得其他用户的UserTimeline才有可能。似乎没有办法让其他用户的提及时间表 (我发现here - 查找“Interface TimelinesResources”)如何通过twitter4j api获取其他用户提及的twitter时间轴?
有没有办法让其他用户提到时间线?
可以使用的TimelineResources getMentionsTimeline()方法,你的tweet数量的一些限制提到返回的链接获得MentionsTimeline。
查找下面的例子,它会给你MentionsTimeline的例子。
Twitter twitter = new TwitterFactory().getInstance();
try {
User user = twitter.verifyCredentials();
List<Status> statuses = twitter.getMentionsTimeline();
System.out.println("Showing @" + user.getScreenName() + "'s mentions.");
for (Status status : statuses) {
System.out.println("@" + status.getUser().getScreenName() + " - " + status.getText());
}
} catch (TwitterException te) {
te.printStackTrace();
System.out.println("Failed to get timeline: " + te.getMessage());
System.exit(-1);
}
Twitter的API不具有用于查看其他用户提到的端点(所述statuses/mentions_timeline API只返回提到通过认证的用户的)。
您应该使用search API,使用用户的@screen_name作为查询字符串来获得提及。请注意,Twitter搜索API可能不会返回给定用户的所有提及(它表示“搜索API关注于相关性而不是完整性”)。
因此,使用Twitter4j,你可以得到@NASA提到使用以下
Twitter twitter = new TwitterFactory().getInstance();
try {
Query query = new Query("@NASA");
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);
System.exit(0);
} catch (TwitterException te) {
te.printStackTrace();
}