如何使用Microsoft Graph API从驱动器中检索包含自定义列的搜索结果

时间:2018-04-11 21:15:45

标签: microsoft-graph onedrive

我正在尝试使用search关键字搜索驱动器中的文档。我可以使用IDName等默认列来获取结果。

但是,它不包含我的自定义列。知道如何获取自定义列以及默认列吗?

这是使用的REST方法:

/v1.0/drives/{driveid}/search(q='Test')?select=custom column1,custom column2

1 个答案:

答案 0 :(得分:0)

不幸的是,目前还没有完全支持这种情况。

目前,您可以使用以下方式搜索Drive资源:

/v1.0/drives/{id}/root/search(q='{query}')

这将返回microsoft.graph.driveItem个资源的集合。 API没有完全区分传统的OneDrive drive和SharePoint文档库drive,因此完全没有意识到给定的DriveItem碰巧也有相应的{{1} }}。

ListItem略有不同,因为 包含对相关ListItem的引用。因此,从给定的DriveItem开始,您可以使用ListItem在结果中包含$expandfields数据:

driveItem

这里的问题当然是API没有为 /v1.0/sites/root:{path}:/lists/{id}/items?$expand=fields,driveitem 提供搜索方法。因此,虽然您可以从ListItems获取DriveItem,但是无法通过搜索查询进行操作。由于您无法从ListItem获得ListItem,因此无法将DriveItem与驱动API的$expand=fields一起使用。

修改

一个重要的说明,您可以search(q='uqery')扩展关联的ListItem(即DriveItem)。但是,我们不支持/drives/{id}/root/children?$expand=listItem查询(即/search)。