Enviar una invitación para uso compartido
Envía una invitación para uso compartido de un objeto 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 permisos siguientes 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 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. |
Ejemplo
En este ejemplo se envía una invitación para compartir a un usuario con la dirección de correo electrónico "ryan@contoso.com" con un mensaje sobre un archivo en el que se está colaborando. La invitación 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" ]
}
Respuesta
Aquí tiene un ejemplo de la respuesta.
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" ]
}
]
}
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 los roles disponibles, consulte Enumeración de roles.
Respuestas de error
Lea el tema Respuestas de error para obtener más información sobre la manera en que se devuelven los errores.