Créer l’invitation
Espace de noms: microsoft.graph
Utilisez cette API pour créer une invitation ou réinitialiser l’état d’échange d’un utilisateur invité qui a déjà utilisé son invitation. L’invitation ajoute un utilisateur externe à l’organisation.
Lorsque vous créez une invitation, plusieurs options sont disponibles :
- Lors de la création de l’invitation, Microsoft Graph peut envoyer automatiquement un e-mail d’invitation directement à l’utilisateur invité, ou votre application peut utiliser l’inviteRedeemUrl renvoyé dans la réponse pour créer votre propre invitation (via le mécanisme de communication de votre choix) à l’utilisateur invité. Si vous décidez que Microsoft Graph envoie automatiquement un e-mail d’invitation, vous pouvez spécifier le contenu et la langue de l’e-mail à l’aide de invitedUserMessageInfo.
- Lorsque l’utilisateur est invité, une entité utilisateur ( userType
Guest
) est créée et peut être utilisée pour contrôler l’accès aux ressources. L’utilisateur invité doit suivre le processus d’échange pour accéder aux ressources auxquelles il a été invité.
Cette API est disponible dans les déploiements de cloud national suivants.
Service global | Gouvernement des États-Unis L4 | Us Government L5 (DOD) | Chine gérée par 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Autorisations
Choisissez l’autorisation ou les autorisations marquées comme moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.
Type d’autorisation | Autorisations avec privilèges minimum | Autorisations privilégiées plus élevées |
---|---|---|
Déléguée (compte professionnel ou scolaire) | User.Invite.All | Directory.ReadWrite.All, User.ReadWrite.All |
Déléguée (compte Microsoft personnel) | Non prise en charge. | Non prise en charge. |
Application | User.Invite.All | Directory.ReadWrite.All, User.ReadWrite.All |
Importante
Les autorisations d’application (application uniquement) ne fonctionnent pas si les invitations B2B sont désactivées sur le locataire ou si les invitations B2B sont limitées aux administrateurs.
Lors de la réinitialisation de l’état d’échange d’un utilisateur invité, l’autorisation User.ReadWrite.All est l’autorisation la moins privilégiée pour l’opération.
Pour les scénarios délégués, l’utilisateur connecté doit avoir au moins le rôle Inviteur d’invités, Rédacteurs d’annuaires ou Administrateur d’utilisateursMicrosoft Entra. Pour réinitialiser l’état de l’échange, l’utilisateur connecté doit avoir au moins le rôle Administrateur du support technique ou Administrateur d’utilisateurs .
Requête HTTP
POST /invitations
En-têtes de demande
En-tête | Valeur |
---|---|
Autorisation | Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation. |
Content-Type | application/json |
Corps de la demande
Dans le corps de la demande, fournissez une représentation JSON d’un objet invitation.
Le tableau suivant répertorie les paramètres requis lorsque vous créez une invitation.
Paramètre | Type | Description |
---|---|---|
invitedUserEmailAddress | string | Adresse e-mail de l’utilisateur que vous invitez. |
inviteRedirectUrl | string | URL vers laquelle l’utilisateur sera redirigé après l’acceptation. |
Réponse
Si elle réussit, cette méthode renvoie 201 Created
le code de réponse et un objet d’invitation dans le corps de la réponse.
Exemple
Exemple 1 : Inviter un utilisateur invité
Demande
L’exemple suivant montre une demande d’ajout et d’invitation d’un utilisateur invité.
POST https://graph.microsoft.com/v1.0/invitations
Content-type: application/json
{
"invitedUserEmailAddress": "admin@fabrikam.com",
"inviteRedirectUrl": "https://myapp.contoso.com"
}
Réponse
L’exemple suivant illustre la réponse.
Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#invitations/$entity",
"id": "9071bfde-35e0-47d2-a582-d244ab1b4af6",
"inviteRedeemUrl": "https://login.microsoftonline.com/redeem?rd=https%3a%2f%2finvitations.microsoft.com%2fredeem%...d%26ver%3d2.0",
"invitedUserDisplayName": null,
"invitedUserType": "Guest",
"invitedUserEmailAddress": "admin@fabrikam.com",
"sendInvitationMessage": false,
"resetRedemption": false,
"inviteRedirectUrl": "https://myapp.contoso.com",
"status": "PendingAcceptance",
"invitedUserMessageInfo": {
"messageLanguage": null,
"customizedMessageBody": null,
"ccRecipients": [
{
"emailAddress": {
"name": null,
"address": null
}
}
]
},
"invitedUser": {
"id": "cbb896f9-8306-49d0-b56b-b8e39cd28825"
}
}
Exemple 2 : Réinitialiser l’état d’échange d’un utilisateur invité
Demande
L’exemple suivant montre une demande de réinitialisation de l’état d’échange d’un utilisateur invité. La demande modifie l’adresse e-mail de l’utilisateur, mais conserve son ID d’utilisateur actuel. Avant d’exécuter la demande, vous devez ajouter la nouvelle adresse e-mail à la propriété otherMails de l’objet utilisateur invité existant.
POST https://graph.microsoft.com/v1.0/invitations
Content-type: application/json
{
"invitedUserEmailAddress": "AdeleV@fabrikam.com",
"inviteRedirectUrl": "https://myapp.contoso.com",
"invitedUser": {
"id": "264e6d50-eaec-461e-b187-873b1bcf855f"
},
"resetRedemption": true
}
Réponse
L’exemple suivant illustre la réponse.
Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#invitations/$entity",
"id": "46d72876-dba6-4a05-b9ec-118faf16c4b7",
"inviteRedeemUrl": "https://login.microsoftonline.com/redeem?rd=https%3a%2f%2finvitations.microsoft.com%2fredeem%2f%3fte...3d2.0",
"invitedUserDisplayName": null,
"invitedUserType": "Guest",
"invitedUserEmailAddress": "AdeleV@fabrikam.com",
"sendInvitationMessage": false,
"resetRedemption": true,
"inviteRedirectUrl": "https://myapp.contoso.com",
"status": "PendingAcceptance",
"invitedUserMessageInfo": {
"messageLanguage": null,
"customizedMessageBody": null,
"ccRecipients": [
{
"emailAddress": {
"name": null,
"address": null
}
}
]
},
"invitedUser": {
"id": "264e6d50-eaec-461e-b187-873b1bcf855f"
}
}