Permission 资源类型
命名空间:microsoft.graph
Permission 资源提供为 DriveItem 资源授予的共享权限的相关信息。
共享权限具有许多不同的形式。 权限 资源通过资源上的不同方面表示这些不同的形式。
OneDrive for Business和 SharePoint 文档库不返回 inheritedFrom 属性。 grantedTo 和 grantedToIdentities 今后将弃用,响应将分别在适当的属性名称下迁移到 grantedToV2 和 grantedToIdentitiesV2 。
JSON 表示形式
以下 JSON 表示形式显示了资源类型。
{
"id": "string (identifier)",
"grantedTo": {"@odata.type": "microsoft.graph.identitySet"},
"grantedToIdentities": [{"@odata.type": "microsoft.graph.identitySet"}],
"grantedToV2": {"@odata.type": "microsoft.graph.sharePointIdentitySet"},
"grantedToIdentitiesV2": [{"@odata.type": "microsoft.graph.sharePointIdentitySet"}],
"inheritedFrom": {"@odata.type": "microsoft.graph.itemReference"},
"invitation": {"@odata.type": "microsoft.graph.sharingInvitation"},
"link": {"@odata.type": "microsoft.graph.sharingLink"},
"roles": ["string"],
"shareId": "string",
"expirationDateTime": "string (timestamp)",
"hasPassword": "boolean"
}
属性
属性 | 类型 | 说明 |
---|---|---|
expirationDateTime | DateTimeOffset | DateTimeOffset 的格式 yyyy-MM-ddTHH:mm:ssZ 表示权限的过期时间。 DateTime.MinValue 指示没有为此权限设置过期时间。 可选。 |
id | String | 在项目的所有权限中,某个权限的唯一标识符。 此为只读属性。 |
HasPassword | 布尔值 | 指示是否为此权限设置了密码。 此属性只出现在响应中。 可选。 只读。 仅适用于 OneDrive 个人版。 |
grantedTo(已弃用) | IdentitySet | 对于用户类型权限,此权限的用户和应用程序的详细信息。 只读。 |
grantedToIdentities(已弃用) | Collection(IdentitySet) | 对于类型权限,被授予权限的用户的详细信息。 只读。 |
grantedToIdentitiesV2 | 集合(SharePointIdentitySet) | 对于链接类型权限,被授予权限的用户的详细信息。 只读。 |
grantedToV2 | SharePointIdentitySet | 对于用户类型权限,此权限的用户和应用程序的详细信息。 只读。 |
inheritedFrom | ItemReference | 如果当前权限继承自上级,则提供对上级权限的引用。 只读。 |
invitation | SharingInvitation | 此权限的全部关联共享邀请的详细信息。 只读。 |
link | SharingLink | 提供当前权限的链接详细信息(如果它是链接类型权限)。 此为只读属性。 |
roles | Collection of String | 权限的类型,例如,read 。 有关角色的完整列表,请参阅如下内容。 只读。 |
shareId | String | 可用于通过共享 API 访问此共享项的唯一令牌。 只读。 |
permission 资源使用 Facet 说明此资源表示的权限种类。
具有 链接 facet 的权限表示在该项上创建的共享链接。 共享链接包含一个唯一令牌,可以为具有上述链接的任何人提供对项目的访问权限。
具有 邀请 方面的权限表示通过邀请特定用户或组有权访问文件而添加的权限。
角色属性值
值 | 说明 |
---|---|
阅读 | 提供读取项的元数据和内容的功能。 |
写入 | 提供读取并修改项的元数据和内容的功能。 |
所有者 | 对于 SharePoint 和 OneDrive for Business,这表示所有者角色。 |
共享链接
最常见的权限类型是共享链接。 共享链接提供唯一 URL,其中包含要共享的资源,以及提供对此资源的访问权限的身份验证令牌。 用户无需登录,即可访问通过共享链接共享的内容。 用户可以共享链接,从而提供对内容的只读权限或写入权限。
查看链接
查看链接提供对项的只读权限。
{
"id": "1",
"roles": ["read"],
"link": {
"type": "view",
"webUrl": "https://onedrive.live.com/redir?resid=5D33DD65C6932946!70859&authkey=!AL7N1QAfSWcjNU8&ithint=folder%2cgif",
"application": { "id": "1234", "displayName": "Sample Application" }
},
"shareId": "!LKj1lkdlals90j1nlkascl",
"expirationDateTime": "0001-01-01T00:00:00Z"
}
编辑链接
编辑链接提供对项的读取和写入权限。
{
"id": "2",
"roles": ["write"],
"link": {
"type": "edit",
"webUrl": "https://onedrive.live.com/redir?resid=5D33DD65C6932946!70859&authkey=!AL7N1QAfSWcjNU8&ithint=folder%2cgif",
"application": { "id": "1234", "displayName": "Sample Application" }
},
"shareId": "!LKj1lkdlals90j1nlkascl",
"expirationDateTime": "0001-01-01T00:00:00Z"
}
特定人员链接
此链接向 grantedToIdentities
集合中的特定人员提供读写访问权限。
{
"id": "3",
"grantedToIdentities": [
{
"user": {
"id": "35fij1974gb8832",
"displayName": "Misty Suarez"
}
},
{
"user": {
"id": "9397721fh4hgh73",
"displayName": "Judith Clemons"
}
}
],
"grantedToIdentitiesV2": [
{
"user": {
"id": "35fij1974gb8832",
"displayName": "Misty Suarez"
},
"siteUser": {
"id": "1",
"displayName": "Misty Suarez",
"loginName": "Misty Suarez"
}
},
{
"user": {
"id": "9397721fh4hgh73",
"displayName": "Judith Clemons"
},
"siteUser": {
"id": "2",
"displayName": "Judith Clemons",
"loginName": "Judith Clemons"
}
}
],
"roles": ["write"],
"link": {
"webUrl": "https://contoso.sharepoint.com/:w:/t/design/a577ghg9hgh737613bmbjf839026561fmzhsr85ng9f3hjck2t5s",
"application": { "id": "1234", "displayName": "Sample Application" }
},
"shareId": "!LKj1lkdlals90j1nlkascl",
"expirationDateTime": "0001-01-01T00:00:00Z"
}
现有的访问链接
此链接不会向用户授予任何额外的权限。
{
"id": "00000000-0000-0000-0000-000000000000",
"roles": ["read"],
"link": {
"scope": "existingAccess",
"type": "view",
"webUrl": "https://contoso.sharepoint.com/:w:/t/design/Shared%20Documents/SampleDoc.docx?d=w12345",
},
"expirationDateTime": "0001-01-01T00:00:00Z"
}
共享邀请
除了创建共享链接之外,还可以通过电子邮件地址邀请用户。 在这种情况下,权限会创建发送到用户电子邮件的邀请。
发送到电子邮件地址的邀请
如果权限是通过电子邮件地址发送给没有匹配帐户的收件人的,则在兑换邀请之前可能不会设置 grantedTo 属性,这发生在用户首次选择链接并登录时发生。
{
"id": "1",
"roles": ["write"],
"invitation": {
"email": "jd@contoso.com",
"signInRequired": true
},
"shareId": "FWxc1lasfdbEAGM5fI7B67aB5ZMPDMmQ11U",
"expirationDateTime": "0001-01-01T00:00:00Z"
}
在用户兑换共享邀请后,grantedTo 属性将包含兑换权限的帐户的相关信息:
{
"id": "1",
"roles": ["write"],
"grantedTo": {
"user": {
"id": "5D33DD65C6932946",
"displayName": "Robin Danielsen"
}
},
"grantedToV2": {
"user": {
"id": "5D33DD65C6932946",
"displayName": "Robin Danielsen"
},
"siteUser": {
"id": "1",
"displayName": "Robin Danielsen",
"loginName": "Robin Danielsen"
}
},
"invitation": {
"email": "rd@contoso.com",
"signInRequired": true
},
"shareId": "FWxc1lasfdbEAGM5fI7B67aB5ZMPDMmQ11U",
"expirationDateTime": "0001-01-01T00:00:00Z"
}
方法
方法 | REST 路径 |
---|---|
列出权限 | GET /drive/items/{item-id}/permissions |
获取权限 | GET /drive/items/{item-id}/permissions/{id} |
添加权限 | POST /drive/items/{item-id}/invite |
更新权限 | PATCH /drive/items/{item-id}/permissions/{id} |
删除权限 | DELETE /drive/items/{item-id}/permissions/{id} |
授予对共享链接的访问权限 | POST /shares/{encoded-sharing-url}/permission/grant |