尝试使用Microsoft Graph的统一API和OneDrive API收集有关特定DriveItem权限的信息。
文档说明权限资源类型中提供了以下属性:
{
"grantedTo": {
"application": {
"displayName": "displayName-value",
"id": "id-value"
},
"device": {
"displayName": "displayName-value",
"id": "id-value"
},
"user": {
"displayName": "displayName-value",
"id": "id-value"
}
},
"id": "id-value",
"invitation": {
"email": "email-value",
"redeemedBy": "redeemedBy-value",
"signInRequired": true
},
"inheritedFrom": {
"driveId": "driveId-value",
"id": "id-value",
"path": "path-value"
},
"link": {
"application": {
"displayName": "displayName-value",
"id": "id-value"
},
"type": "type-value",
"webUrl": "webUrl-value"
},
"roles": [
"roles-value"
]
}
我没有能够检索到超过&#34; 已授予&#34;,&#34; id &#34;和&#34; 角色&#34;属性来自 MSGraph 和 OneDriveAPI ,即使我正在检索有关已与内部和外部用户共享的项目的信息。< / p>
扩展对象的属性不起作用。 选择所需的字段,虽然它们最初没有显示但不起作用。
一个奇怪的说明: 从权限记录中选择不存在的属性将产生API错误。 将这些字段添加到查询选择中不会产生错误,但它也不会显示属性。
这是范围配置问题,还是这些属性的获取方式不同?
提前致谢。
答案 0 :(得分:1)
我最近更新了文档,试图更好地描述它:https://graph.microsoft.io/en-us/docs/api-reference/v1.0/api/permission_get
这些属性中的大多数都是可选的/不希望返回。例如,当 grantTo 将返回用户时,您将无法看到它返回应用或设备以获取权限目前,由于权限仅分配给用户/组。但是,Graph会在多个位置重用IdentitySet对象,这会使这些属性出现。
其他属性(如邀请和 inheritedFrom )目前可用于OneDrive个人驱动器,但不适用于OneDrive for Business或SharePoint文档库。
您应该能够看到为 grantedTo 或链接返回的值,具体取决于共享权限的类型(用户的显式权限或共享链接)。