Какой самый эффективный способ получить список подписчиков с помощью Twitter4j? - PullRequest
2 голосов
/ 28 декабря 2011

Я использую библиотеку Twitter4j и пытаюсь получить список подписчиков аутентифицированного пользователя.

Я делаю следующее:

IDs followersIds = mTwitter.getFollowersIDs(-1);
long [] ids = followersIds.getIDs();

List<User> followers = new ArrayList<User>();
for(int i = 0; i < ids.length; i++) {
   followers.add(mTwitter.showUser(ids[i]));
}

Хотя это может сработать, это далеко не эффективно, поскольку отправляет по одному запросу для каждого подписчика. Помимо медлительности этого метода, я в конечном итоге получаю следующую ошибку:

ошибка - превышен предел скорости. Клиенты могут заработать не более 350 запросов в час.

Кто-нибудь знает лучший способ сделать это? (Я потратил некоторое время на документацию , но не смог ее найти).

Спасибо!

Ответы [ 2 ]

3 голосов
/ 28 декабря 2011

В UserMethods есть метод lookupUsers(long[] ids), который вы должны использовать для этой цели.Вы передаете ему массив не более 100 идентификаторов пользователей (на запрос) и получаете всю расширенную информацию.

Помните, что вы можете использовать асинхронную версию этого метода , так каквы, вероятно, не хотите выполнять запросы в потоке пользовательского интерфейса.

0 голосов
/ 18 июня 2013

Есть метод

PagableResponseList<User> twitter4j.api.FriendsFollowersResources.getFollowersList(long arg0, long arg1) throws TwitterException
...