问题标签 [microsoft-graph-delta]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
60 浏览

microsoft-graph-api - Delta 查询不适用于某些租户

我已经浪费了一个月的时间被 MPN 支持从一个支柱追到另一个帖子。我们正忙于开发一项服务,以便使用我们的 SaaS 平台的客户将用户个人资料图像从 Microsoft Graph 同步到我们的系统。客户端列表包括 200 个客户端和大约 4'000'000 个 Microsoft 用户受此影响。

每天从 Microsoft Graph 进行完全同步对我们来说是自杀,这将是对 Microsoft Graph 基础架构的谋杀,因为我们在全球范围内为所有客户运行这些同步。为了避免我们不得不重击 Graph 服务,我们选择为每个客户端运行一次完全同步,存储 delta 令牌,然后从那时起,我们仅每 30 分钟同步一次来自 delta 的更新。

在开发过程中,我们针对我们的一个测试租户进行了测试,一切顺利。完全同步完成,从那时起,如果用户更新了他们的个人资料图像,我们将看到增量结果。然后我们开始对我们的主租户和一些客户租户进行测试,很快发现增量查询没有返回一些租户的更新结果。这使整个项目计划陷入停顿,因此我们无法同步配置文件图像,迫使我们继续使用实时查询过度查询 Graph 的当前计划。

我已经在 25 个租户中尝试过,其中 5 个失败了。

我希望 Microsoft Graph Delta 查询能够正常工作,并且租户的失败率不会达到 20%。

0 投票
1 回答
72 浏览

microsoft-graph-api - Graph Delta Query 返回不同的结果

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

我的代码看起来像这样

第一次 Delta 查询应该返回所有带有 DeltaToken 的组以供下次调用,但是当我第一次运行初始 delta 查询时,它从我们的租户返回了大约 300k 组。

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

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

知道有什么问题吗?

0 投票
0 回答
76 浏览

microsoft-graph-api - 从驱动器增量查询返回的共享详细信息不正确

我正在尝试使用 Graph API 来枚举随着时间的推移在组织外部共享的文件。阅读文档,我认为最好的方法是识别所有站点/子站点及其相应的驱动器,然后使用驱动器增量查询来监控随时间的变化。

但是,当在驱动器上调用 delta ( DriveItem Delta ) 时,我分别得到了 OneDrive 或 SharePoint 与共享有关的不正确或不完整的结果。

OneDrive:修改文件共享时,增量查询正确返回,但似乎总是将范围返回为“用户”(即使它实际上是“组织”或“匿名”)。直接查询项目的权限(通过/drives/<drive-id>/items/<item-id>/permissions)显示正确的权限。

我是否误读了增量请求中的共享范围在这里告诉我的内容,或者这是一个错误?

SharePoint:SharePoint 驱动器上的增量查询似乎没有反映对共享的更改(即“共享”字段从未包含在增量响应中)

我是否会以错误的方式来解决 API 不公开此信息的问题?

0 投票
1 回答
492 浏览

microsoft-graph-api - Microsoft Graph API 组 delta 从不返回 deltaLink,这会导致无限循环(使用 nextLink)

我正在使用 Microsoft Graph API 我正在为组使用 Delta API。我为每个组创建一个增量请求(我没有跟踪所有组,只跟踪特定组)。

我已经检查了这个问题并阅读了提到的文档。我已经在这里阅读了 GitHub 上的问题

我正在与同一个租户工作,同时使用 delta 响应开发了几周。除了一次,它总是几乎按预期工作。当我提出 delta 请求时,我得到了 nextLink,我跟着它直到我得到了 deltaLink。我说它几乎可以按预期工作,因为很多时候,在第一次/两次数据响应之后,我大部分时间都得到了另外 1-3 个没有额外数据的下一个链接。

我上次尝试时,在函数超时之前,我收到了大约 150 个 nextLinks 响应,除了前几个响应之外,所有这些响应都没有数据。

这是一个测试环境,组中有大约 30 个用户。

我用过

在无限循环中,这些是我得到的响应

如您所见,它们的值中没有数据,但我仍然得到 nextLink 当我关注下一个链接时,我得到了

如您所见,另一个响应带有另一个下一个链接(另一个链接),它再次返回空值。

这种情况再次发生,直到我的功能超时。

我希望在没有更多数据的第一个响应之前获得 deltaLink,或者在第一个空响应时获得最大值。

0 投票
0 回答
38 浏览

microsoft-graph-api - Microsoft Graph 中增量链接缓存容量的范围

根据此处针对 Outlook 项目的文档,一次可以保持活动的增量链接数量是有限制的。

  1. 这个限制是多少?一次可以保持活跃的 delta 代币的实际数量是多少?
  2. 这个缓存容量适用于什么范围?它适用于用户邮箱还是邮件文件夹?还是到用户会话?例如,如果缓存容量为 10 个 delta 链接,是每个邮箱 10 个 delta 链接可以保持活动状态,还是每个邮件文件夹 10 个 delta 链接可以保持活动状态?
0 投票
0 回答
49 浏览

microsoft-graph-api - 如何跟踪目录角色增量更改

我想使用增量查询(beta api)跟踪目录角色更改,但我只获得对内置角色所做的更改。当我创建新的自定义角色、从中添加或删除用户、删除角色本身时,我没有从 delta 查询中获得任何更新。

初始查询是:

当我使用 sdk 时它不起作用,所以我也尝试使用邮递员进行查询。我运行了初始查询并从响应中保存了@odata.deltaLink,然后我创建了一个新的自定义角色并将其分配给用户,并在更改后再次使用我保存的@odata.deltaLink 进行查询。

没有收到任何更改...

文档中它说它应该:

无需完整读取整个资源集合即可获取新创建、更新或删除的目录角色。有关详细信息,请参阅使用 Delta 查询。

这是跟踪内置角色和自定义角色的正确方法吗?

0 投票
0 回答
58 浏览

microsoft-graph-api - 过滤 MS Graph Delta

如何过滤 MS Graph Delta 中的请求?

例如,我想过滤扩展名为 .xlsx 的文件(OneDrive)

但不幸的是,我收到所有保存的文件(.docx 文件等)作为响应

0 投票
0 回答
45 浏览

microsoft-graph-api - Microsoft OneDrive API 从特定日期时间获取项目

我正在使用 onedrive delta API 来同步它完美工作的所有文件。

但是由于这个 API 从 start 开始扫描或在 token=latest 的帮助下开始扫描,它将扫描新文件。
但是我想从特定日期开始扫描文件,比如从最近(2 个月、6 个月、1 年等)开始,

从文档中我发现我们没有 $filter。

即使此 API 中的默认顺序返回响应也是按升序排列的(orderby 都不适用于 One Drive 业务)

有没有其他方法可以实现这一目标?