图形增量查询 returns 个不同的结果

Graph Delta Query returns different results

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

我的代码是这样的

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 查询应该 return 所有具有 DeltaToken 的组用于下一次调用,但是当我 运行 第一次初始 Delta 查询时,它 return 让我大约 300k来自我们租户的群组。

第二次我打同样的电话(几分钟后),它 return 只给我 25 万组,第三次同样的查询 return 几乎 40 万组。

组的数量不可能在几分钟内发生如此显着的变化。代码在 try - catch 块中 运行ning,因此如果它会抛出错误,它会在日志中。

知道问题出在哪里吗?

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