Compartilhar via


Importar um item de caixa de correio do Exchange com as APIs de importação e exportação da caixa de correio

As APIs de importação e exportação da caixa de correio permitem-lhe importar um item de caixa de correio do Exchange com o formato fluxo FastTransfer (FTS). Os itens podem ser restaurados para a mesma caixa de correio ou para uma diferente.

Este artigo descreve os dois passos necessários para executar o processo de importação, com um exemplo fornecido para cada passo. Depois de carregar o item com êxito, obtém uma resposta que contém o itemId e changeKey, que podem ser guardados para utilização posterior.

Passo 1: criar uma sessão de importação

Crie uma sessão de importação para importar um item numa pasta na caixa de correio.

Uma operação bem-sucedida devolve um HTTP 201 Created código de resposta e um novo objeto mailboxItemImportSession no corpo da resposta, que contém um importUrl opaco que pode utilizar em operações POST subsequentes para carregar itens para uma pasta.

O objeto mailboxItemImportSession na resposta também inclui a propriedade expirationDateTime que indica a data e hora de expiração do token de autenticação incorporado no valor da propriedade importUrl . Após este período, importUrl expira e é eliminado.

Permissões

Confirme que pede a MailboxItem.ImportExport permissão delegada ou MailboxItem.ImportExport.All a permissão da aplicação para criar uma caixa de correioItemImportSession.

O URL opaco, devolvido na propriedade importUrl da nova caixa de correioItemImportSession, é pré-autenticado e contém o token de autorização adequado para consultas POST subsequentes no https://outlook.office365.com domínio. Não personalize este URL para as operações POST.

Exemplo: Criar uma sessão de importação de itens de caixa de correio

O exemplo seguinte mostra como criar um objeto mailboxItemImportSession .

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://graph.microsoft.com/beta/admin/exchange/mailboxes/MBX:e0643f21@a7809c93/createImportSession

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

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"
}

Passo 2: utilizar o URL de importação para carregar um item

Para importar o item para a caixa de correio, faça um pedido POST ao URL devolvido no passo anterior na propriedade importUrl do objeto mailboxItemImportSession .

Especifique o corpo do pedido conforme descrito na secção Corpo do pedido .

Cabeçalhos de solicitação

Uma vez que o URL opaco inicial está pré-autenticado e contém o token de autorização adequado para consultas subsequentes para essa sessão de importação, não especifique um Authorization cabeçalho de pedido para esta operação.

Corpo da solicitação

Parâmetro Tipo Descrição
FolderId Cadeia de caracteres O ID da pasta para a qual pretende importar o item. Obrigatório.
Modo Cadeia de caracteres Especifica que o modo de importação pode ser create ou update. Obrigatório.

  • create: cria um novo item. Se especificar ItemId ou ChangeKey no corpo do pedido, tal resultará num erro.
  • update: Atualizações um item existente. ItemId e ChangeKey são necessários no corpo do pedido para atualizações. A operação falha se a combinação de ItemId e ChangeKey não corresponder a nenhum item existente na pasta.
Data Cadeia de caracteres Dados que representam um item num formato FTS codificado em base64. Obrigatório.
ItemId Cadeia de caracteres O identificador exclusivo do item. Necessário durante update.
Chave De Alteração Cadeia de caracteres A versão do item. Necessário durante update.

Resposta

Se for bem-sucedida, esta ação devolve um 200 OK código de resposta e um objeto importMailboxItemResponse no corpo da resposta.

Exemplos

Exemplo 1: criar um item numa caixa de correio com a operação de importação

O exemplo seguinte mostra como importar um novo item para a caixa de correio no create modo.

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://outlook.office365.com/api/gbeta/Mailboxes('MBX:e0643f21@a7809c93')/importItem?authtoken=eyJhbGciOiJSUzI1NiIsImtpZCI6IjFTeXQ1b

{
    "FolderId": "EDSVrdi3lRAAEED0yTAAA=",
    "Mode": "create",
    "Data": "AQAAAAgAAAAAAAAAAQAAAAMAAAAYAAAAAQAAAAcDAgAAAAAAwAAAAAAAAEYAJACABAAAAAYAAAAUD9aRhhcCAAAAwHsAAAMAFwABAAAAsIQaABIAAABJAFAATQAuA"
}
Resposta

O exemplo a seguir mostra a resposta.

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=="
}

Exemplo 2: atualizar um item existente numa caixa de correio com a operação de importação

O exemplo seguinte mostra como importar uma nova versão de um item existente para a caixa de correio no update modo.

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://outlook.office365.com/api/gbeta/Mailboxes('MBX:e0643f21@a7809c93')/importItem?authtoken=eyJhbGciOiJSUzI1NiIsImtpZCI6IjFTeXQ1b

{
    "FolderId": "EDSVrdi3lRAAEED0yTAAA=",
    "Mode": "update",
    "Data": "AQAAAAgAAAAAAAAAAQAAAAMAAAAYAAAAAQAAAAcDAgAAAAAAwAAAAAAAAEYAJACABAAAAAYAAAAUD9aRhhcCAAAAwHsAAAMAFwABAAAAsIQaABIAAABJAFAATQAuA",
    "ItemId" : "EDSVrdi3lRAAFSX03NAAA=",
    "ChangeKey": "kNnynYavKEihA0la3Yt5UQABUftGQg==" 
}
Resposta

O exemplo a seguir mostra a resposta.

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=="
}