如何识别 OneDrive DriveItem 权限标识是组还是用户

How to identify if a OneDrive DriveItem permission identity is a group or a user

我们正在使用 Microsoft Graph 获取 driveItem 的权限,如 here 所述。

每个返回的权限对象通常包含一个 grantedTo 字段,其值是 IdentitySet。但问题是每个 Identity 总是 user:

"grantedTo": { 
    "user": { 
        "displayName": "data Owners", 
        "email": "data@example.onmicrosoft.com", 
        "id": "94c3e81b-f6fb-43c6-8df5-b98462ccf191" 
    } 
}
"grantedTo": { 
    "user": { 
        "displayName": "Data Members" 
    } 
} 

即使这些是群组,也会发生这种情况。因此,无法使用此数据确定什么是组,什么是用户。

我们希望避免任何额外的请求这样做,因为这会变得非常低效。

因此我们想问有没有办法在没有任何额外 API 请求的情况下识别它是一个组还是一个用户?例如一些未记录的查询参数或关系?

恐怕这是不可能的,因为 IdentitySet 本身不区分用户和组:

{
  "application": {"@odata.type": "microsoft.graph.identity"},
  "device": {"@odata.type": "microsoft.graph.identity"},
  "user": {"@odata.type": "microsoft.graph.identity"}
}