发送共享邀请

命名空间:microsoft.graph

发送 driveItem 的共享邀请。 共享邀请向收件人提供权限,并选择性地向其发送带共享链接的电子邮件。

此 API 可用于以下国家级云部署

全局服务 美国政府 L4 美国政府 L5 (DOD) 由世纪互联运营的中国

权限

为此 API 选择标记为最低特权的权限。 只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考

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

HTTP 请求

POST /drives/{drive-id}/items/{item-id}/invite
POST /groups/{group-id}/drive/items/{item-id}/invite
POST /me/drive/items/{item-id}/invite
POST /sites/{siteId}/drive/items/{itemId}/invite
POST /users/{userId}/drive/items/{itemId}/invite

请求标头

名称 说明
Authorization 持有者 {token}。 必填。 详细了解 身份验证和授权
Content-Type application/json. 必需。

请求正文

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

{
  "requireSignIn": false,
  "sendInvitation": false,
  "roles": [ "read | write"],
  "recipients": [
    { "@odata.type": "microsoft.graph.driveRecipient" },
    { "@odata.type": "microsoft.graph.driveRecipient" }
  ],
  "message": "string"
}
参数 类型 说明
recipients Collection(DriveRecipient) 将获得访问权限和共享邀请的收件人的集合。
message String 共享邀请中包含的纯文本格式的邮件。 最大长度为 2000 个字符。
requireSignIn Boolean 指定邀请的收件人是否需要登录才能查看共享项。
sendInvitation Boolean 如果为 true,则向收件人发送共享链接。 否则,直接授予权限,而不发送通知。
角色 集合(字符串) 指定要授予共享邀请收件人的角色。
expirationDateTime DateTimeOffset 指定权限过期后的 dateTime 。 对于 OneDrive for Business 和 SharePoint,xpirationDateTime 仅适用于 sharingLink 权限。 适用于 OneDrive for Business、SharePoint 和高级个人 OneDrive 帐户。
密码 String 创建者在邀请上设置的密码。 仅限可选和 OneDrive 个人版。
retainInheritedPermissions 布尔值 可选。 如果 true (默认) ,则首次共享此项目时,将保留共享项上任何现有继承的权限。 如果 false为 ,则首次共享时将删除所有现有权限。

示例

本示例向电子邮件地址为“”ryan@contoso.com的用户发送共享邀请,其中包含有关正在协作的文件的消息。 此邀请授予 Ryan 对该文件的读写访问权限。

HTTP 请求

如果成功,此方法在响应正文中返回 200 OK 响应代码和 permission 集合对象。

POST https://graph.microsoft.com/v1.0/me/drive/items/{item-id}/invite
Content-type: application/json

{
  "recipients": [
    {
      "email": "ryan@contoso.com"
    }
  ],
  "message": "Here's the file that we're collaborating on.",
  "requireSignIn": true,
  "sendInvitation": true,
  "roles": [ "write" ],
  "password": "password123",
  "expirationDateTime": "2018-07-15T14:00:00.000Z"
}

响应

以下示例显示了相应的响应。

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

{
  "value": [
    {
      "@deprecated.GrantedTo": "GrantedTo has been deprecated. Refer to GrantedToV2",
      "grantedTo": {
        "user": {
          "displayName": "Robin Danielsen",
          "id": "42F177F1-22C0-4BE3-900D-4507125C5C20"
        }
      },
      "grantedToV2": {
        "user": {
          "id": "42F177F1-22C0-4BE3-900D-4507125C5C20",
          "displayName": "Robin Danielsen"
        },
        "siteUser": {
          "id": "1",
          "displayName": "Robin Danielsen",
          "loginName": "Robin Danielsen"
        }
      },
      "hasPassword": true,
      "id": "CCFC7CA3-7A19-4D57-8CEF-149DB9DDFA62",
      "invitation": {
        "email": "robin@contoso.com",
        "signInRequired": true
      },
      "roles": [ "write" ],
      "expirationDateTime": "2018-07-15T14:00:00.000Z"
    }
  ]
}

备注

  • driveTypepersonalDrives(OneDrive 个人版)无法创建或修改根 DriveItem 上的权限。
  • 有关可用角色的列表,请参阅 roles 属性值

错误响应

请阅读 错误响应 主题,了解有关如何返回错误的详细信息。