Почему 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