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

时间:2018-09-06 16:32:42

标签: sharepoint microsoft-graph sharepoint-online

我试图使用Microsoft Graph 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 Graph API进行搜索时,有什么方法可以返回这些列/构面的数据吗?

3 个答案:

答案 0 :(得分:0)

您可以尝试以下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/

答案 1 :(得分:0)

您可以通过将库视为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来获取列表。

答案 2 :(得分:0)

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

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

这将返回所有自定义的Medata字段