permission: grant

命名空间:microsoft.graph

授予用户对由权限表示的链接 [的访问权限][]。

权限

要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限

权限类型 权限(从最低特权到最高特权)
委派(工作或学校帐户) Files.ReadWrite、Files.ReadWrite.All、Sites.ReadWrite.All
委派(个人 Microsoft 帐户) 不支持
应用程序 Files.ReadWrite.All、Sites.ReadWrite.All

HTTP 请求

POST /shares/{encoded-sharing-url}/permission/grant

请求标头

名称 说明
Authorization 持有者 {token}。必需。

请求正文

在请求正文中,提供具有以下参数的 JSON 对象。

{
  "recipients": [
    { "@odata.type": "microsoft.graph.driveRecipient" }
  ],
  "roles": [ "read | write"]
}
参数 类型 说明
recipients collection (driveRecipient) 将接收访问权限的收件人的集合。
角色 集合(字符串) 如果链接是"现有访问"链接,则指定要授予用户的角色。 否则,必须与链接的角色匹配。

有关可用角色的列表,请参阅 roles 属性值

响应

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

[成功后][],将始终在"更新后"结果集返回表示已更新链接的权限。 更新的链接可通过存在包含"scope"属性的"link"Facet 来标识。 在某些情况下,更新的链接可能与原始链接具有不同的 URL,在这种情况下,应该使用新的 URL。

请参阅错误响应主题,详细了解错误返回方式。

示例

此示例向用户授予 john@contoso.com ryan@external.com 访问共享链接的权限,而无需修改链接的其他现有权限。

请求

POST https://graph.microsoft.com/v1.0/shares/{encoded-sharing-url}/permission/grant
Content-type: application/json

{
  "recipients": [
    {
      "email": "john@contoso.com"
    },
    {
      "email": "ryan@external.com"
    }
  ],
  "roles": ["read"]
}

响应

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

{
  "value": [
    {
      "hasPassword": false,
      "id": "5fab944a-47ec-48d0-a9b5-5178a926d00f",
      "link": {
        "preventsDownload": false,
        "scope": "users",
        "type": "view",
        "webUrl": "https://contoso.sharepoint.com/:t:/g/design/EZexPoDjW4dMtKFUfAl6BK4BvIUuss52hLYzihBfx-PD6Q"
      },
      "roles": [
        "read"
      ]
    }
  ]
}

注意: 为了提高可读性,可能缩短了此处显示的响应对象。

如果链接是现有 访问 链接,将返回表示以下内容的其他权限:

  • 表示已成功授予访问权限的收件人的用户类型权限。 可通过 grantedTo 属性的存在来标识 这些属性。
  • 链接类型权限,表示需要发送给无法识别的外部用户才能获得访问权限的邀请。 可以通过存在邀请 Facet 来标识 它们。 这些条目 将包含包含 邀请 URL 的链接,grantedToIdentities 集合将指示链接应发送到的用户。
HTTP/1.1 200 OK
Content-type: application/json

{
  "value": [
    {
      "hasPassword": false,
      "id": "00000000-0000-0000-0000-000000000000",
      "link": {
        "preventsDownload": false,
        "scope": "existingAccess",
        "type": "view",
        "webUrl": "https://contoso.sharepoint.com/teams/design/shareddocs/Document.docx"
      },
      "roles": [
        "read"
      ]
    },
    {
      "grantedTo": {
        "user": {
          "displayName": "John Smith",
          "email": "john@contoso.com",
          "id": "47aecee2-d061-4730-8ecb-4c61360441ae"
        }
      },
      "id": "aTowIy5mfG1lbWJlcnNoaXB8bGltaXRlZDJAa2xhbW9kYi5vbm1pY3Jvc29mdC5jb20",
      "roles": [
        "read"
      ]
    },
    {
      "grantedToIdentities": [
        {
          "user": {
            "email": "ryan@external.com"
          }
        }
      ],
      "invitation": {
        "signInRequired": true
      },
      "roles": [
        "read"
      ],
      "link": {
        "type": "view",
        "webUrl": "https://contoso.sharepoint.com/:t:/g/teams/design/EZexPoDjW4dMtKFUfAl6BK4Bw_F7gFH63O310A7lDtK0mQ"
      }
    }
  ]
}

注意: 为了提高可读性,可能缩短了此处显示的响应对象。