2016-10-03 88 views
1

我想使用REST API与C#的追随者的完整列表,但我只得到20名追随者获得追随者的完整列表,Twitter的使用C#

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。我如何获得完整的追随者名单?

回答

0

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

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

+0

嗨,我试图用这个。实际上,我试图通过文本框和按钮事件传递screen_name,如果我通过查询,它看起来像https://api.twitter.com/1.1/followers/ids.json?cursor=-1&screen_name=?&count= 5000?screen_name = billingparadise,但你知道这是不正确的。我如何将它转换为正确的格式? –

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;

+0

感谢您的指导。我早先检查了您的图书馆。实际上想要获取图像的屏幕名称。Tweetinvi帮助我吗? –

+0

是的,当你得到用户User.GetUsersFromIds(userIds)时,你会得到你需要的所有信息。 – Linvi

相关问题