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