使用c#从twitter获取完整的关注者列表

时间:2016-10-03 08:17:14

标签: asp.net twitter

我想获得使用REST API和c#的完整关注者列表,但我只有20个关注者

var postBody = "screen_name=" + Uri.EscapeDataString(screen_name);//
resource_url += "?" + postBody;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(resource_url);
request.Headers.Add("Authorization", authHeader);
request.Method = "GET";
request.ContentType = "application/x-www-form-urlencoded";
var response = (HttpWebResponse)request.GetResponse();
string result = new StreamReader(response.GetResponseStream()).ReadToEnd();
JObject j = JObject.Parse(result);
JArray data = (JArray)j["users"];

所以使用上面的代码,我只得到20个关注者,并且从here我看到答案中有一个打包的链接。另外,我只使用Newton.Json。我如何获得完整的粉丝列表?

2 个答案:

答案 0 :(得分:0)

您必须使用第一个查询中返回的json中提供的cursor为查询添加参数。

https://dev.twitter.com/rest/reference/get/followers/ids

答案 1 :(得分:0)

我不确定我是否明白你的问题是什么。但是获得成员的所有粉丝并不是一个“简单”的过程。

我建议您尝试使用Tweetinvi项目,并在此处详细了解此功能:https://github.com/linvi/tweetinvi/wiki/Get-All-Followers-Code

首先,您需要获取所有用户ID,然后通过。

获取用户对象

然后,您可以使用var userIds = User.GetUsersFromIds(userIds);从关注者那里获取用户。

注意:请记住Twitter对其API有速率限制。请查看https://github.com/linvi/tweetinvi/wiki/Rate-Limits以了解如何使用它们。

为简单起见,我建议您使用:

RateLimit.RateLimitTrackerMode = RateLimitTrackerMode.TrackAndAwait;