C# - Instasharp - 如何使用分页

时间:2014-08-05 11:33:18

标签: c# instagram instasharp

我正在创建一个小程序,使用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);
}

1 个答案:

答案 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

可以找到一个很好的介绍
相关问题