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, хорошее введение можно найти в блоге Стивена Клири.