Envoyer une invitation de partage

Envoie une invitation de partage pour un DriveItem. Une invitation de partage fournit des autorisations aux destinataires et envoie en option un e-mail contenant un lien de partage.

Autorisations

L’une des autorisations suivantes est requise pour appeler cette API. Pour plus d’informations, notamment sur la façon de choisir les autorisations, voir Autorisations.

Type d’autorisation Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins)
Déléguée (compte professionnel ou scolaire) Files.ReadWrite, Files.ReadWrite.All, Sites.ReadWrite.All
Déléguée (compte Microsoft personnel) Files.ReadWrite, Files.ReadWrite.All
Application Files.ReadWrite.All, Sites.ReadWrite.All

Requête 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

Corps de la demande

Dans le corps de la demande, indiquez un objet JSON avec les paramètres suivants.

{
  "requireSignIn": false,
  "sendInvitation": false,
  "roles": [ "read | write"],
  "recipients": [
    { "@odata.type": "microsoft.graph.driveRecipient" },
    { "@odata.type": "microsoft.graph.driveRecipient" }
  ],
  "message": "string"
}
Paramètre Type Description
destinataires Collection(DriveRecipient) Une collection des destinataires qui recevront l’accès et l’invitation de partage.
message String Un message au format texte brut qui est inclus dans l’invitation de partage. Caractères de longueur maximale 2 000.
requireSignIn Valeur booléenne Indique si le destinataire de l’invitation doit se connecter pour afficher l’élément partagé.
sendInvitation Valeur booléenne Si la valeur est true, un lien de partage est envoyé au destinataire. Dans le cas contraire, une autorisation est accordée directement sans envoi de notification.
roles Collection(String) Spécifiez les rôles qui sont octroyés aux destinataires de l’invitation de partage.

Exemple

Cet exemple envoie une invitation de partage à un utilisateur avec l’adresse e-mail «ryan@contoso.com » avec un message concernant un fichier en cours de collaboration. L’invitation donne à Ryan un accès au fichier en lecture/écriture.

Requête HTTP

Si elle réussit, cette méthode renvoie un code de réponse 200 OK et un objet de collection permission dans le corps de la réponse.

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

Réponse

Voici un exemple de réponse.

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

Remarques

  • Les ressources drive dont la valeur driveType est personal (compte personnel OneDrive) ne peuvent pas créer ni modifier d’autorisations sur la ressource DriveItem racine.
  • Pour obtenir une liste des rôles disponibles, reportez-vous à Énumération des rôles.

Réponses d’erreur

Pour plus d’informations sur la façon dont les erreurs sont renvoyées, voir Réponses d’erreur.