C# - Instasharp - Как использовать нумерацию страниц

Я создаю небольшую программу, чтобы получить список пользователей Instagram после C# и instasharp. Приведенный ниже код даст мне первые 50. Я считаю, что мне нужно использовать параметр нумерации страниц, чтобы получить следующий URL, чтобы перейти на следующую страницу. Вот где я застрял. Как я могу использовать нумерацию страниц, чтобы просмотреть всех пользователей, следующих за мной?

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 ответ

На основании моего ответа здесь: /questions/554093/kak-poluchit-dostup-k-numeratsii-stranits-v-usersresponse-s-konechnoj-tochki-otnoshenij-v-instasharp/554106#554106

Если вы посмотрите на модульные тесты на github InstaSharp, вы можете увидеть пример использования Pagination:

    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)
}

Поскольку в этом коде используется await, вам придется пометить метод как асинхронный, для получения дополнительной информации о том, что это влечет за собой, я бы посоветовал взглянуть на ключевые слова async / await, хорошее введение можно найти в блоге Стивена Клири.

Другие вопросы по тегам