如何使用twitter4j api获取其他用户提及twitter的时间表?

时间:2014-08-30 09:01:20

标签: twitter4j

我努力让其他用户通过twitter4j api提及时间表。我可以发现它只能获得其他用户的UserTimeline。似乎没有办法让其他用户提及时间表 (我发现here - 查找"接口时间线资源")

有没有办法让其他用户提及时间表???

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

您可以使用TimelineResources的getMentionsTimeline()方法获取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);
}

答案 2 :(得分:0)

Twitter API没有用于查看其他用户提及的端点(statuses/mentions_timeline API仅返回经过身份验证的用户的提及)。

您应该使用search API,使用您想要提及的用户的@screen_name作为查询字符串。请注意,Twitter Search 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();
}