Permission 资源类型
Permission 资源提供为 DriveItem 资源授予的共享权限的相关信息。
共享权限具有许多不同的形式。 Permission 资源通过资源上的 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) | 对于链接类型权限,被授予权限的用户的详细信息。 只读。 |
invitation | SharingInvitation | 此权限的全部关联共享邀请的详细信息。 只读。 |
inheritedFrom | ItemReference | 如果当前权限继承自上级,则提供对当前权限的上级的引用。 只读。 |
link | SharingLink | 如果当前权限是链接类型权限,则提供当前权限的链接详细信息。 此为只读属性。 |
角色 | 集合(字符串) | 权限类型,例如 read 。 有关角色的完整列表,请参阅如下内容。 只读。 |
shareId | String | 可用于通过 shares API 访问此共享项的唯一令牌。 只读。 |
角色枚举
角色 | 详细信息 |
---|---|
read |
提供读取项的元数据和内容的功能。 |
write |
提供读取并修改项的元数据和内容的功能。 |
owner |
对于 SharePoint 和 OneDrive for Business,这表示所有者角色。 |
member |
对于 SharePoint 和 OneDrive for Business,这表示成员角色。 |
权限资源使用 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 发送的权限可能在邀请方面包含其他信息。 如果将邀请发送到了与已知帐户不匹配的电子邮件地址,那么在用户首次单击链接并登录以兑换邀请前,可能无法设置 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 属性。