Importer un élément de boîte aux lettres Exchange à l’aide des API d’importation et d’exportation de boîte aux lettres
Les API d’importation et d’exportation de boîte aux lettres vous permettent d’importer un élément de boîte aux lettres Exchange au format de flux FastTransfer (FTS). Les éléments peuvent être restaurés dans la même boîte aux lettres ou dans une autre.
Cet article décrit les deux étapes requises pour effectuer le processus d’importation, avec un exemple fourni pour chaque étape. Une fois l’élément chargé, vous obtenez une réponse qui contient l’itemId et changeKey, qui peut être enregistrée pour une utilisation ultérieure.
Étape 1 : Créer une session d’importation
Créez une session d’importation pour importer un élément dans un dossier de la boîte aux lettres.
Une opération réussie retourne un HTTP 201 Created
code de réponse et un nouvel objet mailboxItemImportSession dans le corps de la réponse, qui contient un importUrl opaque que vous pouvez utiliser dans les opérations POST suivantes pour charger des éléments dans un dossier.
L’objet mailboxItemImportSession dans la réponse inclut également la propriété expirationDateTime qui indique la date et l’heure d’expiration du jeton d’authentification incorporé dans la valeur de la propriété importUrl. Après ce délai, l’importUrl expire et est supprimé.
Autorisations
Veillez à demander l’autorisation MailboxItem.ImportExport
déléguée ou MailboxItem.ImportExport.All
l’autorisation d’application pour créer une mailboxItemImportSession.
L’URL opaque, retournée dans la propriété importUrl de la nouvelle boîte aux lettresItemImportSession, est pré-authentifiée et contient le jeton d’autorisation approprié pour les requêtes POST suivantes dans le https://outlook.office365.com
domaine. Ne personnalisez pas cette URL pour les opérations POST.
Exemple : Créer une session d’importation d’élément de boîte aux lettres
L’exemple suivant montre comment créer un objet mailboxItemImportSession .
Demande
L’exemple suivant illustre une demande.
POST https://graph.microsoft.com/beta/admin/exchange/mailboxes/MBX:e0643f21@a7809c93/createImportSession
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 200 OK
Content-type: application/json
Content-length: 232
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#microsoft.graph.mailboxItemImportSession",
"importUrl": "https://outlook.office365.com/api/gbeta/Mailboxes('MBX:e0643f21@a7809c93')/importItem?authtoken=eyJhbGciOiJSUzI1NiIsImtpZCI6IjFTeXQ1b",
"expirationDateTime": "2024-10-17T19:00:48.1052906Z"
}
Étape 2 : Utiliser l’URL d’importation pour charger un élément
Pour importer l’élément dans la boîte aux lettres, effectuez une requête POST à l’URL retournée à l’étape précédente dans la propriété importUrl de l’objet mailboxItemImportSession .
Spécifiez le corps de la demande comme décrit dans la section Corps de la demande .
En-têtes de demande
Étant donné que l’URL opaque initiale est pré-authentifiée et contient le jeton d’autorisation approprié pour les requêtes suivantes pour cette session d’importation, ne spécifiez pas d’en-tête Authorization
de requête pour cette opération.
Corps de la demande
Paramètre | Type | Description |
---|---|---|
FolderId | String | ID du dossier dans lequel vous souhaitez importer l’élément. Obligatoire. |
Mode | String | Spécifie que le mode d’importation peut être create ou update . Obligatoire.
|
Data | String | Données qui représentent un élément dans un format FTS codé en base64. Obligatoire. |
ItemId | String | Identificateur unique de l’élément. Obligatoire pendant update . |
ChangeKey | String | Version de l’élément. Obligatoire pendant update . |
Réponse
Si elle réussit, cette action renvoie un 200 OK
code de réponse et un objet importMailboxItemResponse dans le corps de la réponse.
Exemples
Exemple 1 : Créer un élément dans une boîte aux lettres à l’aide de l’opération d’importation
L’exemple suivant montre comment importer un nouvel élément dans la boîte aux lettres en create
mode .
Demande
L’exemple suivant illustre une demande.
POST https://outlook.office365.com/api/gbeta/Mailboxes('MBX:e0643f21@a7809c93')/importItem?authtoken=eyJhbGciOiJSUzI1NiIsImtpZCI6IjFTeXQ1b
{
"FolderId": "EDSVrdi3lRAAEED0yTAAA=",
"Mode": "create",
"Data": "AQAAAAgAAAAAAAAAAQAAAAMAAAAYAAAAAQAAAAcDAgAAAAAAwAAAAAAAAEYAJACABAAAAAYAAAAUD9aRhhcCAAAAwHsAAAMAFwABAAAAsIQaABIAAABJAFAATQAuA"
}
Réponse
L’exemple suivant illustre la réponse.
HTTP/1.1 200 OK
Content-type: application/json
Content-length: 232
{
"@odata.context": "https://outlook.office365.com/api/gbeta/$metadata#microsoft.graph.importMailboxItemResponse",
"itemId": "EDSVrdi3lRAAFSX03NAAA=",
"changeKey": "kNnynYavKEihA0la3Yt5UQABUftGQg=="
}
Exemple 2 : Mettre à jour un élément existant dans une boîte aux lettres à l’aide de l’opération d’importation
L’exemple suivant montre comment importer une nouvelle version d’un élément existant dans la boîte aux lettres en update
mode .
Demande
L’exemple suivant illustre une demande.
POST https://outlook.office365.com/api/gbeta/Mailboxes('MBX:e0643f21@a7809c93')/importItem?authtoken=eyJhbGciOiJSUzI1NiIsImtpZCI6IjFTeXQ1b
{
"FolderId": "EDSVrdi3lRAAEED0yTAAA=",
"Mode": "update",
"Data": "AQAAAAgAAAAAAAAAAQAAAAMAAAAYAAAAAQAAAAcDAgAAAAAAwAAAAAAAAEYAJACABAAAAAYAAAAUD9aRhhcCAAAAwHsAAAMAFwABAAAAsIQaABIAAABJAFAATQAuA",
"ItemId" : "EDSVrdi3lRAAFSX03NAAA=",
"ChangeKey": "kNnynYavKEihA0la3Yt5UQABUftGQg=="
}
Réponse
L’exemple suivant illustre la réponse.
HTTP/1.1 200 OK
Content-type: application/json
Content-length: 232
{
"@odata.context": "https://outlook.office365.com/api/gbeta/$metadata#microsoft.graph.importMailboxItemResponse",
"itemId": "EDSVrdi3lRAAFSX03NAAA=",
"changeKey": "kNnynYavKEihA0la3Yt5UQABUftGQf=="
}