#c# #microsoft-graph-api #microsoft-graph-sdks
#c# #microsoft-graph-api #microsoft-graph-sdks
Вопрос:
Я понимаю, что, основываясь на приведенной здесь документации, с помощью библиотеки C # Graph SDK я могу продолжать запрашивать следующую страницу результатов до тех пор, пока NextPageRequest == null, но мне было интересно, могу ли я сохранить следующую ссылку, которую я получу, и если я столкнусь с ошибкой, при следующем выполнении я мог бывозобновите работу с того места, где я был, используя nextLink (используя библиотеку C # SDK).
Я не смог найти ничего в документации по этому поводу. Возможно, это то, что я мог бы сделать с RequestBuilder?
Комментарии:
1. Другим способом использования этого было бы поддерживать инициируемую пользователем подкачку в виде ссылок на следующую страницу. AWS Cognito предоставляет
NextToken
для этого простой в использовании.
Ответ №1:
Я понял это, или, по крайней мере, способ, который работает с использованием skipToken (возможно, есть более удобный встроенный способ библиотечной функции для этого).
Пример запроса:
var groupMembersPaged = await graphClient.Groups[groupId]
.Members
.Request()
.Top(5)
.GetAsync();
- Извлеките skipToken из результата следующим образом:
var skipToken = groupMembersPaged.NextPageRequest.QueryOptions
.Where(qo => qo.Name == "$skiptoken")
.FirstOrDefault();
- Если skipToken существует, используйте его в следующем запросе:
if (skipToken != null)
{
var queryOptions = new List<QueryOption>
{
new QueryOption("$skiptoken", skipToken.Value)
};
var groupMembersPagedSkip = await graphClient.Groups[groupId]
.Members
.Request(queryOptions)
.GetAsync();
}