Как заполучить всех друзей - TweetSharp

Я использую метод ListFriends() библиотеки TweetSharp, чтобы получить всех друзей моего пользователя (у моего пользователя 500 друзей).

   TwitterCursorList<TwitterUser>  friendsList = service.ListFriends(new ListFriendsOptions { Cursor=-1,SkipStatus=true});
 while (friendsList.NextCursor != null)
 {
   foreach (var item in friendsList)
   {
     count++;
   }
    TwitterCursorList<TwitterUser>  friendsList = service.ListFriends(new ListFriendsOptions { Cursor = friendsList.NextCursor, SkipStatus = true });
 }

Приведенный выше код работает хорошо, но он дает мне только 300 друзей, потому что метод ListFriends() имеет ограничение скорости 15 за 15 минут, а когда я пытаюсь найти больше друзей, ограничения скорости превышаются.

Как получить всех друзей за одну попытку, потому что мое требование - показать всех друзей.

2 ответа

Решение

друзья / идентификаторы дадут вам идентификаторы ваших друзей (максимум 5000 / запрос). После этого вы можете сделать user / show, чтобы получить детали для идентификатора пользователя. Я не знаю, какие методы TweetSharp вам нужно использовать, но я думаю, вы можете найти это в документации.

У вас есть одна ошибка в вашем коде. Вы не можете снова определить friendsList внутри вашего цикла. Таким образом, последняя строка кода должна выглядеть так:

    friendsList = service.ListFriends(new ListFriendsOptions { Cursor = friendsList.NextCursor, SkipStatus = true });
Другие вопросы по тегам