Количество ретвитов в Твиттере - PullRequest
0 голосов
/ 18 августа 2010

Интересно, может ли кто-нибудь помочь мне выяснить, как получить сумму, в виде числа Java <code>long, всех моих ретвитов, смотрящих на конкретного пользователя, используя API твиттеров или Twitter4J. Код ниже дает мне только последние 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;
}

Ответы [ 3 ]

2 голосов
/ 07 января 2011

Имейте в виду: ретвиты, возвращаемые API Twitter, являются только ретвитами "нового стиля".Многие люди делают ретвиты в старом стиле.Чтобы получить полную картину, вам нужно сложить вместе два типа.

Чтобы найти и посчитать ретвиты старого стиля, вы можете либо собрать упоминания, а затем выбрать RT или выполнить поиск "RT @вам некоторые ключевые слова ".

1 голос
/ 18 августа 2010

Согласно сайту разработчика Twitter, retweet_of_me , вы можете разрешить подсчет максимум 100 результатов.

count Указывает номер записей для извлечения. Должно быть меньше больше или равно 100.

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

Итак, если вы хотите получить все retweet_of_me, вам нужно просмотреть все свои retweets_of_me и набрать count из 100. Суммируйте все полученные результаты, пока не получить никаких результатов со страницы, и это общая сумма retweets_of_me.

PS. Чем больше у вас страниц, тем больше работы может потребоваться для того, чтобы распечатать все страницы.

1 голос
/ 18 августа 2010

с Twitter4J вы можете позвонить на getRetweetsOfMe(Paging), чтобы разрешить дополнительные страницы ретвитов. 100 результатов - это API limit , поэтому вы должны продолжать вызывать метод, пока не закончите.

...