列出 DriveItem 中的权限

列出 DriveItem 中的有效权限。

不能在 获取 DriveItem 的调用过程中或 DriveItem 集合中扩展 DriveItem 的权限关系。必须直接访问权限属性。

访问权限

权限集合包括潜在的敏感信息,不可能适用于每个调用方。

  • 对于该项目的所有者,将返回所有权限。这包括共有者。
  • 对于非所有者的调用方,仅返回应用于调用方的权限。
  • 对于能够创建权限的调用方,仅返回包含机密信息(例如 shareIdwebUrl)的权限。

先决条件

要执行此 API,需要以下范围之一:

  • Files.Read
  • Files.ReadWrite
  • Files.Read.All
  • Files.ReadWrite.All
  • Sites.Read.All
  • Sites.ReadWrite.All

HTTP 请求

GET /me/drive/items/{item-id}/permissions
GET /me/drive/root:/{path}:/permissions
GET /drives/{drive-id}/items/{item-id}/permissions
GET /groups/{group-id}/drive/items/{item-id}/permissions

请求标头

名称 类型 说明
if-none-match string 如果包含此请求头,且提供的 eTag 与项中的当前 etag 不匹配,则返回 HTTP 304 Not Modified 响应。

可选的查询参数

此方法支持 OData 查询参数 来帮助自定义响应。

请求正文

请勿提供此方法的请求正文。

响应

如果成功,此方法在响应正文中返回 200 OK 响应代码和 权限 资源集合。

项目的有效权限可能来自两个源:

  • 直接对项目本身应用的权限
  • 从项目的上级继承的权限

调用方可以通过检查 inheritedFrom 属性来区分是否为继承权限。此属性是引用从中继承该权限的上级的 itemReference 资源。

示例

请求

下面是一个请求示例。

GET https://graph.microsoft.com/v1.0/me/drive/items/{item-id}/permissions
响应

下面是一个响应示例。

HTTP/1.1 200 OK
Content-Type: application/json

{
  "value": [
    {
      "id": "1",
      "roles": ["write"],
      "link": {
        "webUrl": "https://onedrive.live.com/redir?resid=5D33DD65C6932946!70859&authkey=!AL7N1QAfSWcjNU8&ithint=folder%2cgif",
        "type": "edit"
      }
    },
    {
      "id": "2",
      "roles": ["write"],
      "grantedTo": {
        "user": {
          "id": "5D33DD65C6932946",
          "displayName": "John Doe"
        }
      },
      "inheritedFrom": {
        "driveId": "1234567890ABD",
        "id": "1234567890ABC!123",
        "path": "/drive/root:/Documents" }
    },
    {
      "id": "3",
      "roles": ["write"],
      "link": {
        "webUrl": "https://onedrive.live.com/redir?resid=5D33DD65C6932946!70859&authkey=!AL7N1QAfSWcjNU8&ithint=folder%2cgif",
        "type": "edit",
        "application": {
          "id": "12345",
          "displayName": "TimeTravelPlus"
        }
      }
    }
  ]
}

有关检索单个权限资源的详细信息,请参阅 获取权限