Graph API:如果驱动器未知,则通过 id 获取 Sharepoint 驱动器项目

问题描述 投票:0回答:1

我使用 MS Graph API 在我的应用程序中添加了一个共享点文件浏览器来枚举文档库/文件夹/文件。选择文件时,我会得到一个驱动器 ID、一个驱动器 ID 和一个 WebUrl(当然还有许多其他属性)。

我想以安全的方式存储对所选文件的引用:如果文件被移动到另一个库(在同一网站集上)或重命名,该引用应该仍然有效。

我想对于office类型的文件,我可以使用webUrl,因为它是一个持久的链接并且不会改变。对于其他文件类型,可以通过driveid和itemid的组合来识别文件,并在graph api中查询,例如

https://graph.microsoft.com/v1.0/sites/{my_site}/drives/{drive-id}/items/{item-id}

如果我重命名文件,项目 ID 不会更改。太好了。

如果我将文件移动到另一个库,项目 ID 也不会更改,但驱动器 ID 会更改。我没有找到在网站集上的所有驱动器上查询驱动器 ID 的方法。是否可以?还是我的方法不对?

如果网站集中启用了文档 ID 功能,我可能可以使用此 ID 来识别文件。但我不能保证这一点(而且我也不知道如何在 Graph API 中通过文档 id 进行搜索)。

附注如果有更好的方法通过 CSOM 中的 id 访问文件,我也可以使用它而不是 Graph API...

sharepoint microsoft-graph-api
1个回答
0
投票

要回答标题中的问题,如果您使用的是 Graph REST API,则可以使用 GET DriveItem 端点:

GET /sites/{site-id}/drive/items/{item-id}

仅需要 siteId 和 itemId。

https://learn.microsoft.com/en-us/graph/api/driveitem-get?view=graph-rest-1.0&tabs=http

© www.soinside.com 2019 - 2024. All rights reserved.