Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Espace de noms: microsoft.graph
Importante
Les API sous la version /beta dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .
Créez une invitation ou réinitialisez le status d’échange pour un utilisateur invité qui a déjà utilisé son invitation. L’invitation ajoute l’utilisateur externe à l’organisation dans le cadre d’une collaboration B2B. La collaboration B2B est prise en charge à la fois dans l’ID externe Microsoft Entra dans le personnel et les locataires externes.
Les options suivantes sont disponibles pour créer une invitation :
- 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 le 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 (de 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 cloud nationaux suivants.
| Service global | Gouvernement américain L4 | Gouvernement américain L5 (DOD) | Chine exploitée par 21Vianet |
|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ |
Autorisations
Choisissez l’autorisation ou les autorisations marquées comme étant les moins privilégiées pour cette API. Utilisez une ou plusieurs autorisations privilégiées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, voir Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez la référence des autorisations.
| Type d’autorisation | Autorisations les moins privilégiées | Autorisations à privilèges plus élevés |
|---|---|---|
| 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
Dans les scénarios de délégation avec des comptes professionnels ou scolaires, l’utilisateur connecté doit disposer d’un rôle Microsoft Entra pris en charge ou d’un rôle personnalisé avec une autorisation de rôle prise en charge. Les rôles les moins privilégiés suivants sont pris en charge pour cette opération :
- Pour inviter des invités :
- Les utilisateurs membres non administrateurs et les utilisateurs invités peuvent inviter des invités si l’administrateur client n’a pas restreint les autorisations utilisateur par défaut.
- Invité invité, enregistreurs d’annuaires ou administrateur d’utilisateur.
- Pour réinitialiser le status d’utilisation : Administrateur du support technique ou administrateur des utilisateurs.
- Les autorisations d’application (application uniquement) ne fonctionnent pas si les invitations B2B sont désactivées sur le client.
- Lors de la réinitialisation du status d’échange pour un utilisateur invité, l’autorisation User.ReadWrite.All est l’autorisation de moindre privilège pour l’opération.
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 les autorisations. |
| 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 qui sont 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 un code de réponse 201 Created et un objet 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/beta/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/beta/$metadata#invitations/$entity",
"id": "9071bfde-35e0-47d2-a582-d244ab1b4af6",
"inviteRedeemUrl": "https://login.microsoftonline.com/redeem?rd=https%3a%2f%2finvitations.microsoft.com%2fredeem%2f%3ften...6ver%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",
"userPrincipalName": "admin_fabrikam.com#EXT#@doc.onmicrosoft.com"
}
}
Exemple 2 : réinitialiser le status d’échange d’un utilisateur invité
Demande
L’exemple suivant montre une demande de réinitialisation du status d’échange d’un utilisateur invité. La demande modifie l’adresse e-mail de l’utilisateur, mais conserve son identifiant actuel. Avant d’exécuter la demande, vous devez ajouter la nouvelle adresse e-mail et la propriété otherEmails de l’objet utilisateur invité existant.
POST https://graph.microsoft.com/beta/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/beta/$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",
"userPrincipalName": "AdeleV_fabrikam.com#EXT#@doc.onmicrosoft.com"
}
}