0

我想知道是否有人可以帮助我弄清楚如何long使用 twitters API 或 Twitter4J 来获取我查看特定用户的所有转推的数量,作为 Java 编号。下面的代码只给了我最后 100 条转推,使用 Twitter4J!


public static long getReTweets(){
   long amount = 0;
   Twitter tweeter = new TwitterFactory().getOAuthAuthorizedInstance(MyUser.getUserAccessToken());
   try {
      ResponseList retweets = tweeter.getRetweetsOfMe();
      amount = retweets.size();
    } catch (TwitterException e) {
      e.printStackTrace();
    }
    return amount;
}
4

3 回答 3

2

请注意:Twitter API 返回的转发只是“新式”转发。很多人做旧式转发。要获得全貌,您需要将这两种类型相加。

要查找和计算旧式转发,您可以收集您的提及,然后挑选 RT,或搜索“RT @you some keywords”。

于 2011-01-07T08:56:24.277 回答
1

根据 Twitter 开发者网站retweet_of_me,您最多可以允许 100 个结果。

count 指定要检索的记录数。必须小于或等于 100。

http://api.twitter.com/1/statuses/retweets_of_me.json?count=5

所以,如果你想得到all retweet_of_me,你需要翻阅你所有的 retweets_of_me 并做count一个 100。总结所有结果计数,直到你没有从一个页面得到任何结果,这就是总 retweets_of_me。

PS。您拥有的页面越多,您可能需要越多的工作来分页。

于 2010-08-18T11:19:22.773 回答
1

使用 Twitter4J,您可以调用getRetweetsOfMe(Paging)来解决转发的其他页面。100 个结果计数是 API限制,因此您应该继续调用该方法直到完成。

于 2010-08-18T11:11:05.643 回答