Microsoft Graph:假设 plannerTask.id 和 plannerTaskDetails.id 始终相同是否安全?

Microsoft Graph: Is it safe to assume that plannerTask.id and plannerTaskDetails.id are always the same?

在阅读 Microsoft Graph documentation 时,我们遇到了两种相关的资源类型:

  1. plannerTask
  2. plannerTaskDetails

plannerTask 和 plannerTaskDetails 都有一个 id 属性,在这两种情况下都是 28 个字符长且区分大小写,并由 Microsoft 进行验证。

在使用 Microsoft Graph 时,我注意到对于给定的任务,plannerTask.id === plannerTaskDetails.id。这是有道理的,因为不需要为 details 资源类型定义新的 id,因为这是一对一的关系,MS 可以简单地重新使用 plannerTask id。

但是在文档中,id 似乎指的是不同的东西。我引用:

这似乎留下了plannerTask.id !== plannerTaskDetails.id的可能性。

我只是想知道,根据人们的经验,假设我上面注意到的内容是否安全,即两个 ID 始终相同,因为使用 MS Graph 和阅读文档尚不清楚。也许从事 MS Planner 本身工作的人可以阐明。

是的,但是如果您正在进行补丁调用,那么 If-Match header 即 Etag 将会有所不同。因为尽管任务和任务详情具有相同的 id,但它们是不同的 objects.

你不应该做出这样的假设。从 API 的角度来看,它们是不同的键。使用 Graph API,你真的不需要在任何地方使用任务详细信息 id,你可以随时将其称为任务 abc 的详细信息。

ID 值目前巧合地相同,但我们正在积极研究一些需要它们不同的功能。如果您依赖于此,您的应用程序将会崩溃。