Microsoft graph api $expand=权限失败,出现notSupported错误
明确说明此端点支持Microsoft graph api $expand=权限失败,出现notSupported错误,microsoft-graph-api,onedrive,Microsoft Graph Api,Onedrive,明确说明此端点支持$expand修改搜索结果: users/{user-id}/drive/root/search(q='{search-text}')?$expand=permissions 但请求在其响应中返回以下主体: { “错误”:{ “代码”:“不受支持”, “消息”:“系统不支持该请求。”, “内部错误”:{ “请求id”:“30fc9988-6f4f-46ba-a5b4-91b150c4a1a5”, “日期”:“2017-11-17T02:30:49” } } } 其他关系也
$expand
修改搜索结果:
users/{user-id}/drive/root/search(q='{search-text}')?$expand=permissions
但请求在其响应中返回以下主体:
{
“错误”:{
“代码”:“不受支持”,
“消息”:“系统不支持该请求。”,
“内部错误”:{
“请求id”:“30fc9988-6f4f-46ba-a5b4-91b150c4a1a5”,
“日期”:“2017-11-17T02:30:49”
}
}
}
其他关系也是如此。尽管尝试展开createdByUser
会导致BadRequest
我们希望执行此请求以避免执行后续请求。因为目前我们使用SharePointListItemUniqueId
(由于向后可比性)来查找相应的DriveItem
。然后我们要检索此DriveItem
的权限。但现在我们需要做两件事来实现这一目标
我们也不能使用/users/{user id}/drive/items
,因为它不支持$filter
我们是否误解了文档,或者这是Microsoft Graph方面的问题?您无法扩展
权限
集合。从:
DriveItem
的权限关系不能作为获取DriveItem
或DriveItems
集合的调用的一部分进行扩展。您必须直接访问权限属性
之所以$expand=createdByUser
返回一个BadRequest
,是因为默认情况下它已经展开了
不受支持的属性位于/search
端点上的$expand
中,它们是:
-由于children
返回文件,这在逻辑上没有任何意义/search
-默认包括lastModifiedByUser
-从逻辑上讲,将每个文件的内容包含在content
DriveItems的集合中是没有意义的
但是缩略图可以扩展(
$expand=Thumbnails
)。非常感谢Marc。我只是在文档中找到它,想编辑问题或自己提供答案^^。但为什么不能扩大呢?因为跨越服务边界?如果是,将涉及哪些服务?据我所知,OneDrive for Business实际上是SharePoint的一部分,它还继承了其默认权限角色。我不是100%了解原因,但我相信这与search()
返回多个方面类型有关。由于每个方面使用不同的权限实体,因此最终每个元素都包含不同类型的属性。例如,与您共享的远程文件显示的权限对象与您自己驱动器中的文件不同。