0

我正在使用 Delta 查询来获取组的更改,但是我注意到当我多次运行初始 delta 查询时,它会返回不同数量的结果。

我的代码看起来像这样

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 的组以供下次调用,但是当我第一次运行初始 delta 查询时,它从我们的租户返回了大约 300k 组。

我第二次打同样的电话(几分钟后),它只返回了 250k 组,第三次相同的查询返回了近 400k 组。

没有多少组会在几分钟内发生显着变化。代码在 try - catch 块中运行,因此如果它会抛出错误,它将在日志中。

知道有什么问题吗?

4

1 回答 1

2

根据 MS Support 的回答,如果组的数量很大,这是初始增量查询的预期行为。由于 URL 字符串的限制,当没有过滤器应用于初始调用时,它将返回不同数量的组。

于 2020-04-06T13:54:23.663 回答