如何在Microsoft Graph的driveItem搜索接口中使用$expand获取详细字段?
解决Microsoft Graph API Drive搜索时获取ListItem字段的问题
- 你之前直接用
$expand=fields无效,是因为/drives/{driveId}/search返回的是driveItem对象,而fields属于listItem的子属性,得先关联listItem再展开它的fields。 - 正确的请求URL应该这么写:
这里先通过https://graph.microsoft.com/v1.0/sites/{siteId}/drives/{driveId}/search(q='test')?$expand=listItem($expand=fields($select=Title,ID))$expand=listItem展开driveItem关联的listItem资源,再嵌套$expand=fields($select=...)来获取指定的字段。 - 注意:如果搜索结果里的文件不是文档库中的项目(比如个人OneDrive里的普通文件),这类driveItem没有对应的listItem,这种情况还是得逐个调用
/items/{itemId}/listItem/?expand=fields来获取详细字段,但文档库内的文件基本都能通过上面的方式直接拿到所需数据。
内容的提问来源于stack exchange,提问作者Filip Huhta
相关产品推荐
相关产品推荐

