Почему TweetSharp всегда возвращает только 100 подписчиков?

Я использую библиотеку TweetSharp в приложении.NET 4 (C#).

Вот вспомогательный метод, который я построил, который возвращает подписчиков для данного пользователя.

public static void FindFollowersForUser(TwitterUserModel twitterUser)
{
                                            //A simple string for screen name.
    var followers = service.ListFollowersOf(twitterUser.TwitterName);
    foreach (var follower in followers)
    {
                   //Followers is a simple List<string>.
        twitterUser.Followers.Add(follower.ScreenName);
    }
}

Код работает нормально, но с использованием точек останова я вижу, что даже если у пользователя более 100 подписчиков (я проверяю на официальном сайте), объект в моем приложении имеет только 100.

Есть ли способ получить всех подписчиков для пользователя твиттера с помощью TweetSharp?

1 ответ

Решение

Вам нужно пройти через курсор:

var followers = service.ListFollowersOf(twitterUser.TwitterName, -1);
while (followers.NextCursor != null)
{
    followers =  service.ListFollowersOf(user_id, followers.NextCursor);
    foreach (var follower in followers)
    {
         twitterUser.Followers.Add(follower.ScreenName);
    }
}

Вы можете увидеть это в некоторых тестах: https://github.com/danielcrenna/tweetsharp/blob/master/src/net40/TweetSharp.Next.Tests/Service/TwitterServiceTests.cs

Другие вопросы по тегам