utilisateur : translateExchangeIds

Espace de noms: microsoft.graph

Traduit les identificateurs des ressources Outlook entre les formats.

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

Les tableaux suivants indiquent l’autorisation ou les autorisations les moins privilégiées requises pour appeler cette API sur chaque type de ressource pris en charge. Suivez les bonnes pratiques pour demander des autorisations minimales. 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.

Autorisations permettant de traduire les ID Exchange pour l’utilisateur connecté :

POST /me/translateExchangeIds
Type d’autorisation Autorisations avec privilèges minimum Autorisations privilégiées plus élevées
Déléguée (compte professionnel ou scolaire) User.ReadBasic.All AgentIdUser.ReadWrite.All, AgentIdUser.ReadWrite.IdentityParentedBy, User.Read, User.Read.All, User.ReadWrite, User.ReadWrite.All
Déléguée (compte Microsoft personnel) User.Read User.ReadWrite
Application Non prise en charge. Non prise en charge.

Autorisations permettant de traduire des ID Exchange pour un utilisateur :

POST /users/{id | userPrincipalName}/translateExchangeIds
Type d’autorisation Autorisations avec privilèges minimum Autorisations privilégiées plus élevées
Déléguée (compte professionnel ou scolaire) User.ReadBasic.All AgentIdUser.ReadWrite.All, AgentIdUser.ReadWrite.IdentityParentedBy, User.Read, User.Read.All, User.ReadWrite, User.ReadWrite.All
Déléguée (compte Microsoft personnel) User.Read User.ReadWrite
Application User.Read.All AgentIdUser.ReadWrite.All, AgentIdUser.ReadWrite.IdentityParentedBy, User.ReadWrite.All

Requête HTTP

Pour traduire les ID Exchange de l’utilisateur connecté à l’aide d’autorisations déléguées (/me) :

POST /me/translateExchangeIds

Pour traduire des ID Exchange à l’aide d’autorisations déléguées ou d’application :

POST /users/{id | userPrincipalName}/translateExchangeIds

En-têtes de demande

Nom Valeur
Autorisation Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation.

Corps de la demande

Paramètre Type Description
inputIds String collection Collection d’identificateurs à convertir. Tous les identificateurs de la collection DOIVENT avoir le même type d’ID source et doivent être pour les éléments de la même boîte aux lettres. La taille maximale de cette collection est de 1 000 chaînes.
sourceIdType exchangeIdFormat Type d’ID des identificateurs dans le inputIds paramètre .
targetIdType exchangeIdFormat Type d’ID demandé vers lequel effectuer la conversion.

Valeurs exchangeIdFormat

Member Description
entryId Format d’ID d’entrée binaire utilisé par les clients MAPI.
ewsId Format d’ID utilisé par les clients des services Web Exchange.
immutableEntryId Format d’ID immuable compatible MAPI binaire.
restId Format d’ID par défaut utilisé par Microsoft Graph.
restImmutableEntryId Format d’ID immuable utilisé par Microsoft Graph.

Les formats binaires (entryId et immutableEntryId) sont codés en base64 sécurisé par URL. La sécurité des URL est implémentée en modifiant l’encodage base64 des données binaires de la manière suivante :

  • Remplacer + par -
  • Remplacer / par _
  • Supprimer les caractères de remplissage de fin (=)
  • Ajoutez un entier à la fin de la chaîne indiquant le nombre de caractères de remplissage dans l’original (0, 1, ou 2)

Réponse

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

Exemple

L’exemple suivant montre comment convertir plusieurs identificateurs du format normal de l’API REST (restId) au format immuable REST (restImmutableEntryId).

Demande

Voici l’exemple de demande.

POST https://graph.microsoft.com/v1.0/me/translateExchangeIds
Content-Type: application/json

{
  "inputIds" : [
    "{rest-formatted-id-1}",
    "{rest-formatted-id-2}"
  ],
  "sourceIdType": "restId",
  "targetIdType": "restImmutableEntryId"
}

Réponse

Voici l’exemple de réponse

HTTP/1.1 200 OK
Content-type: application/json

{
  "value": [
    {
      "sourceId": "{rest-formatted-id-1}",
      "targetId": "{rest-immutable-formatted-id-1}"
    },
    {
      "sourceId": "{rest-formatted-id-2}",
      "targetId": "{rest-immutable-formatted-id-2}"
    }
  ]
}