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