Enviar una invitación para uso compartido

Espacio de nombres: microsoft.graph

Envía una invitación de uso compartido para un driveItem. Una invitación para uso compartido proporciona permisos a los destinatarios y, de forma opcional, les envía un correo electrónico con un vínculo de uso compartido.

Permisos

Se requiere uno de los siguientes permisos para llamar a esta API. Para obtener más información, incluido cómo elegir permisos, vea Permisos.

Tipo de permiso Permisos (de menos a más privilegiados)
Delegado (cuenta profesional o educativa) Files.ReadWrite, Files.ReadWrite.All, Sites.ReadWrite.All
Delegado (cuenta personal de Microsoft) Files.ReadWrite, Files.ReadWrite.All
Aplicación Files.ReadWrite.All, Sites.ReadWrite.All

Solicitud 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

Cuerpo de la solicitud

En el cuerpo de la solicitud, proporcione un objeto JSON con los siguientes parámetros.

{
  "requireSignIn": false,
  "sendInvitation": false,
  "roles": [ "read | write"],
  "recipients": [
    { "@odata.type": "microsoft.graph.driveRecipient" },
    { "@odata.type": "microsoft.graph.driveRecipient" }
  ],
  "message": "string"
}
Parámetro Tipo Descripción
destinatarios Collection(DriveRecipient) Una colección de los destinatarios que recibirán acceso y la invitación para uso compartido.
message String Un mensaje con formato de texto sin formato que se incluye en la invitación para uso compartido. La longitud máxima es de 2000 caracteres.
requireSignIn Booleano Especifica si el destinatario de la invitación debe iniciar sesión para ver el elemento compartido.
sendInvitation Boolean Si esto es así, se envía un vínculo de uso compartido al destinatario. En caso contrario, se otorga un permiso directamente sin enviar ninguna notificación.
roles Collection(String) Especifica los roles que se conceden a los destinatarios de la invitación para uso compartido.
expirationDateTime DateTimeOffset Especifique la fecha y hora después de la cual expira el permiso. Disponible en OneDrive para la Empresa, SharePoint y cuentas personales OneDrive premium.
password String La contraseña establecida en la invitación por el creador. Opcional y OneDrive solo personal.

Ejemplo

Este ejemplo envía una invitación para compartir a un usuario con la dirección de correo electrónico "ryan@contoso.org" con un mensaje sobre un archivo en el que se colabora. La invitación le concede a Ryan acceso de lectura y escritura al archivo.

Solicitud HTTP

Si se ejecuta correctamente, este método devuelve el código de respuesta 200 OK y el objeto de colección permission en el cuerpo de la respuesta.

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" ],
  "password": "password123",
  "expirationDateTime": "2018-07-15T14:00:00.000Z"
}

Respuesta

Aquí tiene un ejemplo de la respuesta.

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

Comentarios

  • Los objetos Drives con un valor driveType de personal (OneDrive Personal) no pueden crear ni modificar permisos en el objeto DriveItem raíz.
  • Para obtener una lista de roles disponibles, vea roles property values.

Respuestas de error

Lea el tema Respuestas de error para obtener más información sobre la manera en que se devuelven los errores.