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 属性。