Compartir a través de


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.

  • create: crea un nuevo elemento. Si especifica ItemId o ChangeKey en el cuerpo de la solicitud, se producirá un error.
  • update: Novedades un elemento existente. ItemId y ChangeKey son necesarios en el cuerpo de la solicitud para las actualizaciones. Se produce un error en la operación si la combinación de ItemId y ChangeKey no coincide con ningún elemento existente de la carpeta.
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=="
}