Граф Delta Query возвращает разные результаты - PullRequest
0 голосов
/ 26 марта 2020

Я использую дельта-запрос, чтобы получить изменения в группах, однако я заметил, что когда я запускаю первоначальный дельта-запрос несколько раз, он возвращает различное количество результатов.

Мой код выглядит так

groupCollectionPage = await _graphServiceClient.Groups.Delta().Request().GetAsync();

var allGroupsObject = new List<Group>();
allGroupsObject.AddRange(groupCollectionPage.CurrentPage);

while (groupCollectionPage.NextPageRequest != null)
{
  groupCollectionPage = await groupCollectionPage.NextPageRequest.GetAsync();
  allGroupsObject.AddRange(groupCollectionPage.CurrentPage);
}

WriteLog(string.Format("Number of groups returned: {0}", allGroupsObject.Count));

В первый раз, когда Delta-запрос должен вернуть все группы с DeltaToken для следующего вызова, однако, когда я впервые выполнил начальный дельта-запрос, он вернул мне около 300 тыс. Групп от нашего арендатора.

Второй раз, когда я сделал тот же вызов (несколько минут спустя), он вернул мне только 250 тыс. групп, в третий раз тот же запрос возвратил почти 400 тыс. групп.

Нет шансов, что количество групп значительно изменится в течение нескольких минут. Код выполняется в блоке try - catch, поэтому, если он выдаст ошибку, он будет в журналах.

Есть идеи, в чем проблема?

1 Ответ

1 голос
/ 06 апреля 2020

Исходя из ответа службы поддержки MS, это ожидаемое поведение для начального дельта-запроса, если количество групп огромно. Из-за ограничения строки URL-адреса он будет возвращать различное количество групп, если к начальному вызову не применен фильтр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...