我正在创建一个小程序,使用C#和instasharp让Instagram用户关注列表。下面的代码将为我提供前50个。我相信我必须使用分页选项来获取下一个网址才能进入下一页。多数民众赞成在哪里卡住。如何使用分页循环遍历所有用户?
var config = new InstaSharp.InstagramConfig("api", "oauth", "xxxxxx", "xxxxxxx", "xxxxxx");
var config1 = new InstaSharp.Endpoints.Relationships.Unauthenticated(config);
var result = config1.Follows(000000);
dynamic dyn = JsonConvert.DeserializeObject(result.Json);
foreach (var data in dyn.data)
{
listBox1.Items.Add(data.username);
}
答案 0 :(得分:2)
根据我在此处的回复:https://stackoverflow.com/a/25139236/88217
如果查看InstaSharp github上的单元测试,可以看到如何使用分页的示例:
public async Task Follows_NextCursor()
{
//This test will fail if testing with an account with less than one page of follows
var result = await relationships.Follows();
result = await relationships.Follows(457273003/*ffujiy*/, result.Pagination.NextCursor);
Assert.IsTrue(result.Data.Count > 0);
}
如果你想循环并获得所有这些,我希望你做这样的事情:
int userID = 000000;
var result = await relationships.Follows(userID);
while(result.Data.Count > 0)
{
dynamic dyn = JsonConvert.DeserializeObject(result.Json);
foreach (var data in dyn.data)
{
listBox1.Items.Add(data.username);
}
result = await relationships.Follows(userID, result.Pagination.NextCursor)
}
由于此代码使用等待,因此您必须将该方法标记为 async ,有关所需内容的更多信息,我建议您查看{{3在async/await keywords
可以找到一个很好的介绍