在 LinqToTwitter 中获取给定用户正在关注(而非关注者)的用户
Get users that a given user is FOLLOWING (not followers) in LinqToTwitter
如何在 LinqToTwitter 中获取给定用户正在关注(而非关注者)的用户的 UserId 和 ScreenName?
??
Twitter API 使用术语 follower 表示关注某个用户的人,使用 friends 表示关注某个用户的人用户关注,LINQ to Twitter 继续这种方法。因此,您将使用 Friendship
/FriendshipType.FriendsList
查询,如下所示:
static async Task FriendsListAsync(TwitterContext twitterCtx)
{
Friendship friendship;
long cursor = -1;
do
{
friendship =
await
(from friend in twitterCtx.Friendship
where friend.Type == FriendshipType.FriendsList &&
friend.ScreenName == "JoeMayo" &&
friend.Cursor == cursor &&
friend.Count == 200
select friend)
.SingleOrDefaultAsync();
if (friendship != null &&
friendship.Users != null &&
friendship.CursorMovement != null)
{
cursor = friendship.CursorMovement.Next;
friendship.Users.ForEach(friend =>
Console.WriteLine(
"ID: {0} Name: {1}",
friend.UserIDResponse, friend.ScreenNameResponse));
}
} while (cursor != 0);
}
此示例在 do
/while
循环中对结果进行分页。请注意,cursor
设置为 -1
,它在没有 Twitter API 游标的情况下开始查询。每个查询分配 cursor
,它获取下一页用户。在 if
块中,第一条语句读取 friendship.CursorMovement.Next
以获取下一页用户的 cursor
。当下一个 cursor
是 0
时,您已阅读所有关注者。
查询执行后,Users
属性有一个List<User>
可以获取用户信息。此演示打印列表的每个成员。
您可能 运行 遇到大型朋友列表的其中一件事是 Twitter 会 return 超过速率限制的错误。您将能够在 try
/catch
块中通过捕获 TwitterQueryException
并检查超出速率限制的属性来捕获它。要最大程度地减少速率限制问题,请将 count
设置为 200
,最大值。否则计数默认为 20。
您可以在 LINQ to Twitter 网站上为此下载 samples and view documentation。
如何在 LinqToTwitter 中获取给定用户正在关注(而非关注者)的用户的 UserId 和 ScreenName?
??
Twitter API 使用术语 follower 表示关注某个用户的人,使用 friends 表示关注某个用户的人用户关注,LINQ to Twitter 继续这种方法。因此,您将使用 Friendship
/FriendshipType.FriendsList
查询,如下所示:
static async Task FriendsListAsync(TwitterContext twitterCtx)
{
Friendship friendship;
long cursor = -1;
do
{
friendship =
await
(from friend in twitterCtx.Friendship
where friend.Type == FriendshipType.FriendsList &&
friend.ScreenName == "JoeMayo" &&
friend.Cursor == cursor &&
friend.Count == 200
select friend)
.SingleOrDefaultAsync();
if (friendship != null &&
friendship.Users != null &&
friendship.CursorMovement != null)
{
cursor = friendship.CursorMovement.Next;
friendship.Users.ForEach(friend =>
Console.WriteLine(
"ID: {0} Name: {1}",
friend.UserIDResponse, friend.ScreenNameResponse));
}
} while (cursor != 0);
}
此示例在 do
/while
循环中对结果进行分页。请注意,cursor
设置为 -1
,它在没有 Twitter API 游标的情况下开始查询。每个查询分配 cursor
,它获取下一页用户。在 if
块中,第一条语句读取 friendship.CursorMovement.Next
以获取下一页用户的 cursor
。当下一个 cursor
是 0
时,您已阅读所有关注者。
查询执行后,Users
属性有一个List<User>
可以获取用户信息。此演示打印列表的每个成员。
您可能 运行 遇到大型朋友列表的其中一件事是 Twitter 会 return 超过速率限制的错误。您将能够在 try
/catch
块中通过捕获 TwitterQueryException
并检查超出速率限制的属性来捕获它。要最大程度地减少速率限制问题,请将 count
设置为 200
,最大值。否则计数默认为 20。
您可以在 LINQ to Twitter 网站上为此下载 samples and view documentation。