Отправка приглашения к совместному использованию

Отправляет приглашение к совместному использованию ресурса DriveItem. Приглашение к совместному использованию предоставляет получателям разрешения и при необходимости отправляет им сообщение электронной почты с ссылкой совместного доступа.

Разрешения

Для вызова этого API требуется одно из следующих разрешений. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.

Тип разрешения Разрешения (в порядке повышения привилегий)
Делегированные (рабочая или учебная учетная запись) Files.ReadWrite, Files.ReadWrite.All, Sites.ReadWrite.All
Делегированные (личная учетная запись Майкрософт) 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

Текст запроса

В тексте запроса предоставьте 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, получателю отправляется ссылка совместного доступа. В противном случае разрешение предоставляется напрямую без отправки уведомления.
roles Collection(String) Указывает роли, которые необходимо предоставить получателям приглашения к совместному использованию.

Пример

В этом примере пользователю отправляется приглашение на общий доступ с адресом электронной почты "ryan@contoso.com" с сообщением о совместном использовании файла. Приглашение предоставляет пользователю Ryan доступ для чтения и записи к файлу.

HTTP-запрос

При успешном выполнении этот метод возвращает код ответа 200 OK и объект коллекции permission в теле ответа.

POST /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" ]
}

Ответ

Ниже приведен пример отклика.

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

{
  "value": [
    {
      "grantedTo": {
        "user": {
          "displayName": "Ryan Gregg",
          "id": "42F177F1-22C0-4BE3-900D-4507125C5C20"
        }
      },
      "id": "CCFC7CA3-7A19-4D57-8CEF-149DB9DDFA62",
      "invitation": {
        "email": "ryan@contoso.com",
        "signInRequired": true
      },
      "roles": [ "write" ]
    }
  ]
}

Примечания

  • Дискам, у которых параметр driveType имеет значение personal (OneDrive персональный), не удастся создать или изменить разрешения в корневой папке ресурса DriveItem.
  • Список доступных ролей см. в таблице Перечисление ролей.

Ответы с ошибками

Дополнительные сведения о том, как возвращаются ошибки, см. в статье Отклики ошибок.