Importación de un elemento de buzón de Exchange mediante las API de importación y exportación de buzones
Las API de importación y exportación de buzones le permiten importar un elemento de buzón de Exchange mediante el formato de flujo de FastTransfer (FTS). Los elementos se pueden restaurar en el mismo buzón de correo o en otro diferente.
En este artículo se describen los dos pasos necesarios para realizar el proceso de importación, con un ejemplo proporcionado para cada paso. Después de cargar correctamente el elemento, obtendrá una respuesta que contiene itemId y changeKey, que se pueden guardar para su uso posterior.
Paso 1: Crear una sesión de importación
Cree una sesión de importación para importar un elemento en una carpeta del buzón.
Una operación correcta devuelve un HTTP 201 Created
código de respuesta y un nuevo objeto mailboxItemImportSession en el cuerpo de la respuesta, que contiene un importUrl opaco que puede usar en operaciones POST posteriores para cargar elementos en una carpeta.
El objeto mailboxItemImportSession de la respuesta también incluye la propiedad expirationDateTime que indica la fecha y hora de expiración del token de autenticación incrustado en el valor de la propiedad importUrl . Después de este tiempo, importUrl expira y se elimina.
Permissions
Asegúrese de solicitar el permiso delegado o MailboxItem.ImportExport.All
el MailboxItem.ImportExport
permiso de aplicación para crear un mailboxItemImportSession.
La dirección URL opaca, devuelta en la propiedad importUrl del nuevo mailboxItemImportSession, está autenticada previamente y contiene el token de autorización adecuado para las consultas POST posteriores en el https://outlook.office365.com
dominio. No personalice esta dirección URL para las operaciones POST.
Ejemplo: Creación de una sesión de importación de elementos de buzón
En el ejemplo siguiente se muestra cómo crear un objeto mailboxItemImportSession .
Solicitud
En el ejemplo siguiente se muestra la solicitud.
POST https://graph.microsoft.com/beta/admin/exchange/mailboxes/MBX:e0643f21@a7809c93/createImportSession
Respuesta
En el ejemplo siguiente se muestra la respuesta.
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
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"
}
Paso 2: Usar la dirección URL de importación para cargar un elemento
Para importar el elemento en el buzón de correo, realice una solicitud POST a la dirección URL devuelta en el paso anterior en la propiedad importUrl del objeto mailboxItemImportSession .
Especifique el cuerpo de la solicitud como se describe en la sección Cuerpo de la solicitud .
Encabezados de solicitud
Dado que la dirección URL opaca inicial está autenticada previamente y contiene el token de autorización adecuado para las consultas posteriores para esa sesión de importación, no especifique un Authorization
encabezado de solicitud para esta operación.
Cuerpo de la solicitud
Parámetro | Tipo | Descripción |
---|---|---|
FolderId | Cadena | Identificador de la carpeta en la que desea importar el elemento. Obligatorio. |
Modo | Cadena | Especifica que el modo de importación puede ser create o update . Obligatorio.
|
Datos | Cadena | Datos que representan un elemento en un formato FTS codificado en base64. Obligatorio. |
ItemId | Cadena | Identificador único del elemento. Obligatorio durante update . |
ChangeKey | Cadena | Versión del elemento. Obligatorio durante update . |
Respuesta
Si se ejecuta correctamente, esta acción devuelve un 200 OK
código de respuesta y un objeto importMailboxItemResponse en el cuerpo de la respuesta.
Ejemplos
Ejemplo 1: Creación de un elemento en un buzón de correo mediante la operación de importación
En el ejemplo siguiente se muestra cómo importar un nuevo elemento en el buzón en create
modo .
Solicitud
En el ejemplo siguiente se muestra la solicitud.
POST https://outlook.office365.com/api/gbeta/Mailboxes('MBX:e0643f21@a7809c93')/importItem?authtoken=eyJhbGciOiJSUzI1NiIsImtpZCI6IjFTeXQ1b
{
"FolderId": "EDSVrdi3lRAAEED0yTAAA=",
"Mode": "create",
"Data": "AQAAAAgAAAAAAAAAAQAAAAMAAAAYAAAAAQAAAAcDAgAAAAAAwAAAAAAAAEYAJACABAAAAAYAAAAUD9aRhhcCAAAAwHsAAAMAFwABAAAAsIQaABIAAABJAFAATQAuA"
}
Respuesta
En el ejemplo siguiente se muestra la respuesta.
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=="
}
Ejemplo 2: Actualización de un elemento existente en un buzón mediante la operación de importación
En el ejemplo siguiente se muestra cómo importar una nueva versión de un elemento existente en el buzón en update
modo .
Solicitud
En el ejemplo siguiente se muestra la solicitud.
POST https://outlook.office365.com/api/gbeta/Mailboxes('MBX:e0643f21@a7809c93')/importItem?authtoken=eyJhbGciOiJSUzI1NiIsImtpZCI6IjFTeXQ1b
{
"FolderId": "EDSVrdi3lRAAEED0yTAAA=",
"Mode": "update",
"Data": "AQAAAAgAAAAAAAAAAQAAAAMAAAAYAAAAAQAAAAcDAgAAAAAAwAAAAAAAAEYAJACABAAAAAYAAAAUD9aRhhcCAAAAwHsAAAMAFwABAAAAsIQaABIAAABJAFAATQAuA",
"ItemId" : "EDSVrdi3lRAAFSX03NAAA=",
"ChangeKey": "kNnynYavKEihA0la3Yt5UQABUftGQg=="
}
Respuesta
En el ejemplo siguiente se muestra la respuesta.
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=="
}