Permission 资源类型
Permission 资源提供为 DriveItem 资源授予的共享权限的相关信息。
共享权限具有许多不同的形式。权限 资源通过资源上的 facet 表示这些不同的形式。
JSON 表示形式
下面是资源的 JSON 表示形式。
{
"id": "string (identifier)",
"grantedTo": {"@odata.type": "microsoft.graph.identitySet"},
"grantedToIdentities": [{"@odata.type": "microsoft.graph.identitySet"}],
"inheritedFrom": {"@odata.type": "microsoft.graph.itemReference"},
"invitation": {"@odata.type": "microsoft.graph.sharingInvitation"},
"link": {"@odata.type": "microsoft.graph.sharingLink"},
"roles": ["string"],
"shareId": "string"
}
属性
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 在项目的所有权限中,某个权限的唯一标识符。只读。 |
| grantedTo | IdentitySet | 对于用户类型权限,此权限的用户和应用程序的详细信息。只读。 |
| grantedToIdentities | Collection(IdentitySet) | 对于链接类型权限,被授予权限的用户的详细信息。只读。 |
| 邀请 | SharingInvitation | 此权限的全部关联共享邀请的详细信息。只读。 |
| inheritedFrom | ItemReference | 如果当前权限继承自上级,则提供对当前权限的上级的引用。只读。 |
| link | SharingLink | 如果当前权限是链接类型权限,则提供当前权限的链接详细信息。只读。 |
| 角色 | 集合(字符串) | 权限类型,例如 read。有关角色的完整列表,请参阅如下内容。只读。 |
| shareId | String | 可通过 [共享 API][] 访问此共享项目的唯一令牌。只读。 |
角色枚举
| 角色 | 详细信息 |
|---|---|
read |
提供读取项的元数据和内容的功能。 |
write |
提供读取并修改项的元数据和内容的功能。 |
owner |
对于 SharePoint 和 OneDrive for Business,这表示所有者角色。 |
member |
对于 SharePoint 和 OneDrive for Business,这表示成员角色。 |
权限资源使用 facet 提供有关由该资源表示的权限类型的信息。
共享链接包含访问该项所需的唯一令牌。
具有 邀请 facet 的权限表示通过邀请特定用户或组访问文件而添加的权限。
共享链接
具有 链接 facet 的权限表示在该项上创建的共享链接。 这些是最常见的权限类型。 共享链接提供可用于访问文件或文件夹的唯一 URL。 可将其设置为通过多种方式授予访问权限。 例如,可使用 createLink API 创建适用于已登录到组织的任何用户的链接,或创建可用于任何人且无需登录的链接。 你可以使用 invite API 创建仅适用于特定人员的链接(无论他们是否在你的公司中)。
下面是一些共享链接示例。
查看链接
此查看链接向具有相应链接的任何人提供只读访问权限。
{
"id": "1",
"roles": ["read"],
"link": {
"scope": "anonymous",
"type": "view",
"webUrl": "https://onedrive.live.com/redir?resid=5D33DD65C6932946!70859&authkey=!AL7N1QAfSWcjNU8&ithint=folder%2cgif",
"application": { "id": "1234", "displayName": "Sample Application" }
},
"shareId": "!LKj1lkdlals90j1nlkascl"
}
编辑链接
此编辑链接向组织中具有相应链接的任何人提供读写访问权限。
{
"id": "2ceefb3g32hh",
"roles": ["write"],
"link": {
"scope": "organization",
"type": "edit",
"webUrl": "https://contoso.sharepoint.com/:w:/t/design/fj277ghautbb422707565gnvg23",
"application": { "id": "1234", "displayName": "Sample Application" }
},
"shareId": "!LKj1lkdlals90j1nlkascl"
}
特定人员链接
此链接向 grantedToIdentities 集合中的特定人员提供读写访问权限。
{
"id": "3",
"grantedToIdentities": [
{
"user": {
"id": "35fij1974gb8832",
"displayName": "Misty Suarez"
}
},
{
"user": {
"id": "9397721fh4hgh73",
"displayName": "Judith Clemons"
}
}
],
"roles": ["write"],
"link": {
"webUrl": "https://contoso.sharepoint.com/:w:/t/design/a577ghg9hgh737613bmbjf839026561fmzhsr85ng9f3hjck2t5s",
"application": { "id": "1234", "displayName": "Sample Application" }
},
"shareId": "!LKj1lkdlals90j1nlkascl"
}
共享邀请
由 [邀请][] API 发送的权限可能在 邀请 facet 中具有其他信息。如果向与某个已知帐户不匹配的电子邮件地址发送了邀请,则在兑换邀请之前,可能不会设置 grantedTo 属性,在用户第一次单击链接并登录时,将出现这种情况。
{
"id": "1",
"roles": ["write"],
"invitation": {
"email": "jd@fabrikam.com",
"signInRequired": true
},
"shareId": "FWxc1lasfdbEAGM5fI7B67aB5ZMPDMmQ11U"
}
在用户兑换共享邀请后,grantedTo 属性将包含兑换权限的帐户的相关信息:
{
"id": "1",
"roles": ["write"],
"grantedTo": {
"user": {
"id": "5D33DD65C6932946",
"displayName": "John Doe"
}
},
"invitation": {
"email": "jd@fabrikam.com",
"signInRequired": true
},
"shareId": "FWxc1lasfdbEAGM5fI7B67aB5ZMPDMmQ11U"
}
方法
| 方法 | REST 路径 |
|---|---|
| 列出权限 | GET /drive/items/{item-id}/permissions |
| 获取权限 | GET /drive/items/{item-id}/permissions/{id} |
| 创建链接 | POST /drive/items/{item-id}/createLink |
| 邀请人员 | POST /drive/items/{item-id}/invite |
| 更新 | PATCH /drive/items/{item-id}/permissions/{id} |
| 删除 | DELETE /drive/items/{item-id}/permissions/{id} |
注解
OneDrive for Business 和 SharePoint 文档库不返回 inheritedFrom 属性。