使用 Microsoft Graph 从 SharePoint 检索自定义文档元数据



我正在尝试使用 Microsoft 图形 API 检索自定义文档元数据,但当我指定所用分面的名称时,数据不会返回。

var items = graph.Drives[drive.Id].Search(q).Request().Top(num_results).Select("id,name,file,weburl,createdby,lastmodifiedby,createddatetime,lastmodifieddatetime,package,revision").GetAsync().GetAwaiter().GetResult();

上述使用的方面返回除包和修订之外的数据,这对我的 SharePoint 实例是唯一的。

当我使用 Microsoft 图形 API 进行搜索时,有没有办法返回这些列/方面的数据?

您可以通过将库视为list而不是drive来访问这些字段 - 而不是调用/v1.0/sites/FOO/drives/BAR/children,而是调用/v1.0/sites/FOO/lists/BAZ/items?expand=fields

给定驱动器 ID,您可以请求https://graph.microsoft.com/v1.0/drives/DRIVE_ID/list以获取列表。

对于特定文档上的自定义文档元数据,请使用 Get列表项方法,其中 item-id 引用列表中的特定文档,如下所示: v1.0/sites/{site-id}/lists/{list-id}/items/{item-id} 文档: https://learn.microsoft.com/en-us/graph/api/listitem-get

item-id 是 GET 列表项方法返回的特定文档的 id,用于此处记录的列表: https://learn.microsoft.com/en-us/graph/api/list-get?view=graph-rest-1.0&tabs=http

这将返回任何自定义 medata 字段

您可以尝试使用以下 API 来获取标签和元数据,通过我的测试,它现在不会返回自定义元数据:

By the driveItem unique identifier using drive/items/{item-id}
By file system path using /drive/root:/path/to/file
GET /drives/{drive-id}/root/search(q='{search-text}')
GET /groups/{group-id}/drive/root/search(q='{search-text}')
GET /me/drive/root/search(q='{search-text}')
GET /sites/{site-id}/drive/root/search(q='{search-text}')
GET /users/{user-id}/drive/root/search(q='{search-text}')

https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/driveitem_search https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/resources/driveitem

如果您也无法通过 expand=fields 获取信息,我建议您提交功能请求:https://officespdev.uservoice.com/

最新更新