Envía una invitación para compartir 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.
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
Tipo de permiso
Permisos con privilegios mínimos
Permisos con privilegios más altos
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
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 concederán a los destinatarios de la invitación para compartir.
expirationDateTime
DateTimeOffset
Especifica la fecha y hora después de la cual expira el permiso. Para OneDrive para la Empresa y SharePoint, xpirationDateTime solo es aplicable para los permisos sharingLink. Disponible en OneDrive para la Empresa, SharePoint y cuentas de OneDrive personales premium.
password
String
Contraseña establecida en la invitación por el creador. Opcional y solo OneDrive Personal.
retainInheritedPermissions
Booleano
Opcional. Si true es (valor predeterminado), los permisos heredados existentes se conservan en el elemento compartido al compartir este elemento por primera vez. Si falsees , se quitan todos los permisos existentes al compartir por primera vez.
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.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Drives.Item.Items.Item.Invite;
using Microsoft.Graph.Models;
var requestBody = new InvitePostRequestBody
{
Recipients = new List<DriveRecipient>
{
new DriveRecipient
{
Email = "ryan@contoso.com",
},
},
Message = "Here's the file that we're collaborating on.",
RequireSignIn = true,
SendInvitation = true,
Roles = new List<string>
{
"write",
},
Password = "password123",
ExpirationDateTime = "2018-07-15T14:00:00.000Z",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Drives["{drive-id}"].Items["{driveItem-id}"].Invite.PostAsInvitePostResponseAsync(requestBody);
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.drives.item.items.item.invite.InvitePostRequestBody invitePostRequestBody = new com.microsoft.graph.drives.item.items.item.invite.InvitePostRequestBody();
LinkedList<DriveRecipient> recipients = new LinkedList<DriveRecipient>();
DriveRecipient driveRecipient = new DriveRecipient();
driveRecipient.setEmail("ryan@contoso.com");
recipients.add(driveRecipient);
invitePostRequestBody.setRecipients(recipients);
invitePostRequestBody.setMessage("Here's the file that we're collaborating on.");
invitePostRequestBody.setRequireSignIn(true);
invitePostRequestBody.setSendInvitation(true);
LinkedList<String> roles = new LinkedList<String>();
roles.add("write");
invitePostRequestBody.setRoles(roles);
invitePostRequestBody.setPassword("password123");
invitePostRequestBody.setExpirationDateTime("2018-07-15T14:00:00.000Z");
var result = graphClient.drives().byDriveId("{drive-id}").items().byDriveItemId("{driveItem-id}").invite().post(invitePostRequestBody);
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.drives.item.items.item.invite.invite_post_request_body import InvitePostRequestBody
from msgraph.generated.models.drive_recipient import DriveRecipient
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = InvitePostRequestBody(
recipients = [
DriveRecipient(
email = "ryan@contoso.com",
),
],
message = "Here's the file that we're collaborating on.",
require_sign_in = True,
send_invitation = True,
roles = [
"write",
],
password = "password123",
expiration_date_time = "2018-07-15T14:00:00.000Z",
)
result = await graph_client.drives.by_drive_id('drive-id').items.by_drive_item_id('driveItem-id').invite.post(request_body)