Fazer o download de uma caixa de e-mails

Como administrador, você pode baixar contas de caixa de correio no seu domínio para fins de auditoria. Para preparar uma caixa de correio para exportação, a API Email Audit cria uma cópia criptografada da caixa de correio de um usuário. O sistema retorna os URLs dos arquivos de caixa de correio criptografados que, quando baixados e descriptografados, ficam disponíveis no formato mbox.

O máximo de solicitações de criação de exportação de caixa de correio por dia é de 100 solicitações de todos os administradores de domínio. O processo de criação da caixa de e-mails pode ser demorado e levar vários dias, dependendo do tamanho dela.

O Google retém os arquivos criptografados da caixa de correio por três semanas. Faça o download deles dentro desse período. Depois disso, eles são excluídos. Para excluir esses arquivos antes do período expirar, consulte Excluir uma caixa de correio criptografada.

Para fazer o download de uma caixa de correio, faça o seguinte:

  • Gerar e fazer upload de uma chave pública: crie uma chave de criptografia pública para baixar caixas de correio. Essa etapa só precisa ser feita uma vez. Se você já criou uma chave pública, não precisa concluir esta etapa para cada exportação de caixa de correio.
  • Criar uma versão de exportação da caixa de correio de um usuário: o processo de exportação da caixa de correio começa quando você solicita a criação de uma cópia da caixa de correio de um usuário. A API Email Audit autentica e autoriza suas credenciais e retorna um ID de solicitação exclusivo. O processo de criação de caixas de e-mail pode ser demorado e levar vários dias, dependendo do tamanho delas.
  • Recuperar o status do download da caixa de e-mails: use o ID da solicitação de exportação da caixa de e-mails para conferir o status da solicitação pendente. Depois que a caixa de correio é copiada e preparada para exportação, a resposta retorna um status de COMPLETED junto com a lista de arquivos criptografados da caixa de correio como URLs HTTP. Use esse conjunto de URLs para fazer o download dos arquivos da caixa de correio.
  • Extraia os arquivos de caixa de correio baixados: depois de baixar os arquivos criptografados, descriptografe-os usando a chave privada do domínio. Depois de descriptografados, os arquivos são exibidos no formato mbox.

Gerar uma chave pública

Antes de fazer o download da caixa de correio, você precisa enviar uma chave de criptografia pública OpenPGP para o domínio. Essa etapa é feita uma vez ao configurar o download da caixa de correio. Você pode gerar o par de chaves pública/privada usando qualquer software compatível com OpenPGP, como o GNU Privacy Guard (GPG). Essa chave pública de criptografia precisa ser uma chave RSA codificada em ASCII no formato PGP.

Para gerar uma chave com o GNU Privacy Guard, siga estas etapas:

  1. Instale o GnuPG 1.4.

  2. Gere uma nova chave:

    gpg --gen-key --expert
    
  3. Para definir suas próprias capacidades, selecione a opção 8 e ative a capacidade de sinalização.

  4. Para concluir o processo de geração de chaves, aceite todas as opções padrão. Essa chave precisa ter a ação de criptografia ativada. Você pode desativar a ação de sinalização porque ela não é usada.

  5. Exporte apenas a chave do ID de usuário que corresponde ao seu Google Workspace:

    • Se esta for a primeira vez que você usa o GPG para gerar uma chave, exporte a chave única que acabou de gerar:

      gpg --armor --export
      
    • Se você já usou o GPG para gerar outras chaves, terá várias chaves no seu chaveiro. Confira uma lista de chaves:

      gpg --list-keys
      

      Se houver várias chaves listadas, especifique o uid da chave que você quer exportar:

      gpg --armor --export KEY_UID
      
  6. Codifique a chave com a codificação base64 usando o Motobit ou outra ferramenta. Copie todas as linhas, incluindo o cabeçalho, e não adicione linhas extras. O arquivo de chave pública precisa ser lido com o conjunto de caracteres US-ASCII, (IANA nome do conjunto de caracteres preferido para ASCII).

Exemplo

O exemplo a seguir mostra como converter uma chave pública em uma string codificada em base64.

Este é um exemplo de chave pública antes da conversão:

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.10 (GNU/Linux)

mQENBErWaD4BCACt2ngfs6/+QOGYbxNbc3gLnXHtqp7NTTXNW4SJo+/A1oUZoGxA
Qx6zFXhQ/8MXW66+8STS1YqNJOARFtjbIKPwjrdcukdPzYVKGZre0RaxCnMyCV+6
F4YNQD1UegHTu2wCGR1uiYOfLxUa7/do6s31WRTH8vbtiPY9/6obEIxDjDzKIqYO
rvRDWqALBYklOkJ3Hbgfyl42EsnLiAhS+dMs2PCDi2X0ZJCPZ8eTjLsdAtqVZJ+R
WC1J3UDuFfmcpsDYRtUL9w6YMtlapC+9mmJ3ABEBAAG0V0Rhc2hlciBUZXN0IChU
dGVyMkBkYXNoZXItaHlkLXRlc3QuY29tPokBOAQTAQIAIgUCStZoPgIbDQYLCQgH
k19QckTpwBdskEYumFvmWve5UX2SVV7fzOC0nZtgFxtZGlJhGmjsA3rxFTlb+Ira
WZayXCWYiCzd7m9z5/KyGD2GFTK/94mdm25N6GXh/b35pIFZXBI/rZjrYrhYRBFu
GtzGFIw9AAnFyUzEUUVfPWUtBe5yHMW54C60nHk5xYIa6qFhiLp4PYqZCrYX1iIs
fRROFA==
=STHr
-----END PGP PUBLIC KEY BLOCK-----

Este é um exemplo da chave pública após a conversão:

LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tDQpWZXJzaW9uOiBHbn
VQRyB2MS40LjEwIChHTlUvTGludXgpDQoNCm1RRU5CRXJXYUQ0QkNBQ3QybmdmczYv

K1FPR1lieE5iYzNnTG5YSHRxcDdOVFRYTlc0U0pvKy9BMW9VWm9HeEENClF4NnpGWG
hRLzhNWFc2Nis4U1RTMVlxTkpPQVJGdGpiSUtQd2pyZGN1a2RQellWS0dacmUwUmF4
Q25NeUNWKzYNCkY0WU5RRDFVZWdIVHUyd0NHUjF1aVlPZkx4VWE3L2RvNnMzMVdSVE
g4dmJ0aVBZOS82b2JFSXhEakR6S0lxWU8NCnJ2UkRXcUFMQllrbE9rSjNIYmdmeWw0
MkVzbkxpQWhTK2RNczJQQ0RpMlgwWkpDUFo4ZVRqTHNkQXRxVlpKK1INCldDMUozVU
R1RmZtY3BzRFlSdFVMOXc2WU10bGFwQys5bW1KM0FCRUJBQUcwVjBSaGMyaGxjaUJV
WlhOMElDaFUNCmRHVnlNa0JrWVhOb1pYSXRhSGxrTFhSbGMzUXVZMjl0UG9rQk9BUV
RBUUlBSWdVQ1N0Wm9QZ0liRFFZTENRZ0gNCmsxOVFja1Rwd0Jkc2tFWXVtRnZtV3Zl
NVVYMlNWVjdmek9DMG5adGdGeHRaR2xKaEdtanNBM3J4RlRsYitJcmENCldaYXlYQ1
dZaUN6ZDdtOXo1L0t5R0QyR0ZUSy85NG1kbTI1TjZHWGgvYjM1cElGWlhCSS9yWmpy
WXJoWVJCRnUNCkd0ekdGSXc5QUFuRnlVekVVVVZmUFdVdEJlNXlITVc1NEM2MG5Iaz
V4WUlhNnFGaGlMcDRQWXFaQ3JZWDFpSXMNCmZSUk9GQT09DQo9U1RIcg0KLS0tLS1F
TkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLQ==

Fazer upload da chave pública

  1. Para fazer upload da chave pública, crie uma entrada XML com a chave pública codificada em base64:

    <atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
    <apps:property name="publicKey" value="ENCODED_KEY"/>
    </atom:entry>
    
  2. Envie uma solicitação HTTP POST para o URI do feed publickey no seu domínio do Google Workspace:

    POST https://apps-apis.google.com/a/feeds/compliance/audit/publickey/DOMAIN_NAME
    

    Se a operação for bem-sucedida, o servidor vai retornar um 201 CREATED status code e uma resposta semelhante a este exemplo:

    <entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
    <id>https://apps-apis.google.com/a/feeds/compliance/audit/publickey/DOMAIN_NAME/id>/id>
    <updated>2009-04-17T15:02:45.646Z</updated>
    <link rel='self' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/publickey/DOMAIN_NAME/id'/>
    <link rel='edit' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/publickey/DOMAIN_NAME/id'/>
    <apps:property name='publicKey' value='ENCODED_KEY'/>
    </entry>
    

Criar uma cópia de uma caixa de e-mails para exportação

Para preparar uma cópia da caixa de correio de um usuário para exportação e download, use o feed de exportação da API Email Audit.

Envie uma solicitação POST para o URI do feed de exportação e inclua o cabeçalho Authorization:

POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/DOMAIN_NAME/SOURCE_USERNAME

Substitua:

  • DOMAIN_NAME: o nome do domínio do Google Workspace, por exemplo, example.com.
  • SOURCE_USERNAME: o nome de usuário da caixa de correio que você quer baixar.

A solicitação contém o seguinte cabeçalho Content-type:

Content-type: application/atom+xml

Para conferir uma lista completa de parâmetros a serem usados em uma solicitação de exportação de caixa de correio, consulte Recursos: export.

Exemplo de criação de uma caixa de e-mails para exportação

O exemplo usa os seguintes parâmetros:

  • O usuário para exportar a caixa de e-mails é quinn@example.com.
  • O valor da coluna beginDate é July 1, 2022, 04:30 hours.
  • O valor da coluna endDate é August 30, 2022, 20:00 hours.
  • includeDeleted é false.
  • searchQuery é in:chat.
  • O valor da coluna packageContent é FULL_MESSAGE.

Protocolo

POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/example.com/quinn

<atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
   <apps:property name='beginDate' value='2022-07-01 04:30'/>
   <apps:property name='endDate' value='2022-08-30 20:00'/>
   <apps:property name='includeDeleted' value='false'/>
   <apps:property name='searchQuery' value='in:chat'/>
   <apps:property name='packageContent' value='FULL_MESSAGE'/>
</atom:entry>

Se for bem-sucedido, o servidor vai retornar um código de status 201 CREATED e uma entrada AtomPub.

<entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
    <id>https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/example.com/quinn/53156>/id>
    <updated>2022-10-17T15:02:45.646Z</updated>
    <link rel='self' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/example.com/quinn/53156'/>
    <link rel='edit' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/example.com/quinn/53156'/>
    <apps:property name='status' value='PENDING'/>
    <apps:property name='packageContent' value='FULL_MESSAGE'/>
    <apps:property name='includeDeleted' value='false'/>
    <apps:property name='searchQuery' value='in:chat'/>
    <apps:property name='completedDate' value='2022-09-18 10:13'/>
    <apps:property name='adminEmailAddress' value='admin1@example.com'/>
    <apps:property name='requestId' value='53156'/>
    <apps:property name='userEmailAddress' value='quinn@example.com'/>
    <apps:property name='endDate' value='2022-08-30 20:00'/>
    <apps:property name='requestDate' value='2022-09-17 12:51'/>
    <apps:property name='beginDate' value='2022-07-01 04:30'/>
</entry>

Neste exemplo, o processamento da caixa de correio foi concluído. A propriedade status é COMPLETED e o numberOfFiles retornado para exportação é dois.

Java

import java.util.Calendar;
import com.google.gdata.client.appsforyourdomain.audit.AuditService;
import com.google.gdata.client.appsforyourdomain.audit.MailBoxDumpRequest;
import com.google.gdata.data.appsforyourdomain.generic.GenericEntry;
...

MailBoxDumpRequest request = new MailBoxDumpRequest();
request.setAdminEmailAddress("admin@example.com");
request.setUserEmailAddress("quinn@example.com");

Calendar beginDate = Calendar.getInstance();
beginDate.set(2022, Calendar.JULY, 1, 4, 30);
request.setBeginDate(beginDate.getTime());

Calendar endDate = Calendar.getInstance();
endDate.set(2022, Calendar.AUGUST, 30, 20, 0);
request.setEndDate(endDate.getTime());

request.setIncludeDeleted(false);
request.setSearchQuery("in:chat");
request.setPackageContent("FULL_MESSAGE");

AuditService service = new AuditService("admin@example.com", "p@55w0rd", "example.com", "example.com-auditapp-v1");
GenericEntry mailboxDumpEntry = service.createMailboxDumpRequest(request);

String requestId = mailboxDumpEntry.getRequestId();
String status = mailboxDumpEntry.getStatus();
String numberOfFiles = mailboxDumpEntry.getNumberOfFiles();

.NET

using System;
using Google.GData.Apps;
using Google.GData.Extensions.Apps;
...

MailboxDumpRequest mailboxDumpRequest = new MailboxDumpRequest();
mailboxDumpRequest.BeginDate = new DateTime(2022, 7, 1, 4, 30, 0);
mailboxDumpRequest.EndDate = new DateTime(2022, 8, 30, 20, 0, 0);
mailboxDumpRequest.IncludeDeleted = false;
mailboxDumpRequest.SearchQuery = "in:chat";
mailboxDumpRequest.PackageContent = MonitorLevel.FULL_MESSAGE;

AuditService service = new AuditService("example.com", "example.com-auditapp-v1");
service.setUserCredentials("admin@example.com", "p@55w0rd");
MailboxDumpRequest dumpRequest = service.CreateMailboxDumpRequest("quinn", mailboxDumpRequest);

Recuperar o status de exportação de uma caixa de correio

Como a preparação de uma exportação de caixa de correio é um processo assíncrono, use esta solicitação de recuperação para verificar se o processamento da caixa de correio criptografada foi concluído.

Para recuperar detalhes de status de uma caixa de correio preparada para exportação, envie uma solicitação HTTP GET com o requestId da caixa de correio para o URI do feed de exportação e inclua o cabeçalho Authorization:

GET https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/DOMAIN_NAME/SOURCE_USERNAME/MAILBOX_REQUESTID

Substitua:

  • DOMAIN_NAME: o nome do domínio do Google Workspace, por exemplo, example.com.
  • SOURCE_USERNAME: o nome de usuário da caixa de correio que você quer baixar.
  • MAILBOX_REQUESTID: o requestID é um identificador exclusivo para a solicitação de exportação da caixa de correio que é retornada quando a exportação é solicitada inicialmente.

Essa solicitação retorna uma entrada AtomPub, incluindo o status atual da exportação da caixa de correio. Os valores possíveis para o status atual são:

PENDING
A solicitação está sendo processada.
ERROR
A solicitação falhou devido a um erro. Por exemplo, uma chave pública de API errada foi enviada para o domínio.
COMPLETED
A solicitação foi totalmente processada, e os arquivos criptografados da caixa de correio estão prontos para download.
MARKED_DELETE
A solicitação é marcada para exclusão na próxima vez que o job de limpeza do Google for executado. Para mais informações sobre esse job de limpeza, consulte Excluir uma caixa de correio criptografada.
DELETED
Os arquivos da caixa de correio foram excluídos usando a operação Excluir uma caixa de correio criptografada.
EXPIRED
Os arquivos da caixa de correio foram excluídos pelo Google após o limite de retenção de três semanas.

Exemplo para recuperar o status de exportação de uma caixa de correio

Este exemplo recupera o status da caixa de e-mails correspondente ao requestIds 53156 e 34201 do usuário quinn@example.com.

Protocolo

GET https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/example.com/quinn/53156

Se a operação for bem-sucedida, o servidor vai retornar um código de status 201 CREATED.

Como você pode ver na resposta a seguir, o status é um ERROR e, portanto, os arquivos da caixa de correio criptografada nunca foram criados.

<entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
    <id>https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/example.com/quinn/53156</id>
    <updated>2022-10-17T15:02:45.646Z</updated>
    <link rel='self' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/example.com/quinn/53156'/>
    <link rel='edit' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/example.com/quinn/53156'/>
    <apps:property name='status' value='ERROR'/>
    <apps:property name='packageContent' value='FULL_MESSAGE'/>
    <apps:property name='includeDeleted' value='false'/>
    <apps:property name='searchQuery' value='in:chat'/>
    <apps:property name='completedDate' value='2022-09-18 10:13'/>
    <apps:property name='adminEmailAddress' value='admin1@example.com'/>
    <apps:property name='numberOfFiles' value='0'/>
    <apps:property name='requestId' value='53156'/>
    <apps:property name='userEmailAddress' value='quinn@example.com'/>
    <apps:property name='endDate' value='2022-08-30 20:00'/>
    <apps:property name='requestDate' value='2022-09-17 12:51'/>
    <apps:property name='beginDate' value='2022-07-01 04:30'/>
</entry>

Este exemplo recupera o status da caixa de correio correspondente ao requestId 34201:

GET https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/example.com/quinn/34201

Este segundo exemplo é bem-sucedido com um status COMPLETED. Ele retorna dois URLs de arquivos de caixa de correio que contêm os arquivos criptografados, que podem ser baixados usando os URLs nos elementos fileUrl.


<entry>...
    ...
    <apps:property name='status' value='COMPLETED'/>
    <apps:property name='packageContent' value='FULL_MESSAGE'/>
    <apps:property name='completedDate' value='2022-09-18 10:13'/>
    <apps:property name='adminEmailAddress' value='admin2@example.com'/>
    <apps:property name='numberOfFiles' value='2'/>
    <apps:property name='requestId' value='34201'/>
    <apps:property name='userEmailAddress' value='namrata@example.com'/>
    <apps:property name='requestDate' value='2022-09-17 12:51'/>
    <apps:property name='fileUrl0'  value='https://apps-apis.google.com/a/data/compliance/audit/OQAAABW3Z2OlwkDFR0H5n_6lnYAzv-pWlkAlbTyAzvJEV0MC4c7lBDW' />
    <apps:property name='fileUrl1'  value='https://apps-apis.google.com/a/data/compliance/audit/OQAAABW3Z2OlwkD55nLv-pWlkAlbTyAzvJEVPnVYW45C4cC34gtyVCC' />
</entry>

Java

import com.google.gdata.client.appsforyourdomain.audit.AuditService;
import com.google.gdata.data.appsforyourdomain.generic.GenericEntry;
...

AuditService service = new AuditService("admin@example.com", "p@55w0rd", "example.com", "example.com-auditapp-v1");
GenericEntry mailboxDumpEntry1 = service.retrieveMailboxDumpRequest("quinn", "53156");
String status = mailboxDumpEntry1.getProperty("status"); // Status is "ERROR" if the mailbox for this request isn't created

GenericEntry mailboxDumpEntry2 = service.retrieveMailboxDumpRequest("quinn", "34201");
String status = mailboxDumpEntry2.getProperty("status");

.NET

using System;
using Google.GData.Apps;
using Google.GData.Extensions.Apps;
...

AuditService service = new AuditService("example.com", "example.com-auditapp-v1");
service.setUserCredentials("admin@example.com", "p@55w0rd");
MailboxDumpRequest mailboxDumpEntry1 = service.RetrieveMailboxDumpRequest("quinn", "53156");
RequestStatus status1 = mailboxDumpEntry1.Status; // Status is "ERROR" if the mailbox for this request isn't created

MailboxDumpRequest mailboxDumpEntry2 = service.RetrieveMailboxDumpRequest("quinn", "34201");
RequestStatus status2 = mailboxDumpEntry2.Status;

Recuperar todas as solicitações de status da caixa de correio

Para recuperar todas as solicitações de caixa de correio de um domínio a partir de uma data específica, faça uma solicitação HTTP GET para o URI do feed de exportação e inclua o cabeçalho Authorization:

GET https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/DOMAIN_NAME?fromDate=FROM_DATE

Substitua:

  • DOMAIN_NAME: o nome do domínio do Google Workspace, por exemplo, example.com.
  • FROM_DATE: a data codificada por URL de uma solicitação de caixa de correio criptografada no formato de Tempo Universal Coordenado (UTC). Se nenhum fromDate for especificado nesta solicitação GET, todas as solicitações das últimas três semanas serão recuperadas.

Para uma resposta grande, cada página de resultados retorna no máximo 100 entradas e inclui um URI em uma tag <link rel='next'...> que aponta para a próxima página de resultados. Ao desenvolver o aplicativo cliente, seu código precisa gerenciar esses resultados adicionais.

Exemplo para recuperar todas as solicitações de status da caixa de correio

Este exemplo recupera todas as solicitações de status de caixa de correio para o domínio example.com feitas em 9 PM, August 30, 2022 ou depois:

Protocolo

<feed xmlns:atom='http://www.w3.org/2005/Atom'
xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'
xmlns:apps='http://schemas.google.com/apps/2006'>
    <id>https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/domain</id>
    <updated>2010-03-17T15:29:21.064Z</updated>
    <link rel='next' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/tapoloka.com?fromDate=2022-08-30%2021:00'/>
    <link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/tapoloka.com'/>
    <link rel='http://schemas.google.com/g/2005#post' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/tapoloka.com'/>
    <link rel='self' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/tapoloka.com?fromDate=2022-08-30%2021:00'/>
    <openSearch:startIndex>1</openSearch:startIndex>
    <entry>
        <atom:id>https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/domain/request ID</atom:id>
        <atom:updated>2022-04-17T15:29:21.064Z</atom:updated>
        <atom:link rel='self' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/domain/request ID'/>
        <atom:link rel='edit' type='application/atom+xml' href='https://apps-apis.google.com/feeds/compliance/audit/mail/export/domain/request ID'/>
        <apps:property name='status' value='ERROR'/>
        <apps:property name='packageContent' value='FULL_MESSAGE'/>
        <apps:property name='includeDeleted' value='false'/>
        <apps:property name='searchQuery' value='in:chat'/>
        <apps:property name='completedDate' value='2022-09-18 10:13'/>
        <apps:property name='adminEmailAddress' value='admin1@example.com'/>
        <apps:property name='numberOfFiles' value='0'/>
        <apps:property name='requestId' value='the mailbox ID for this request'/>
   </entry>
   <entry>
        <id>>https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/domain/second request ID</id>
        ...
        <apps:property name='status' value='COMPLETED'/>
        <apps:property name='packageContent' value='FULL_MESSAGE'/>
        <apps:property name='includeDeleted' value='false'/>
        <apps:property name='completedDate' value='2022-09-18 10:13'/>
        <apps:property name='adminEmailAddress' value='admin1@example.com'/>
        <apps:property name='numberOfFiles' value='0'/>
        <apps:property name='requestId' value='the mailbox ID for this request'/>
        <apps:property name='userEmailAddress' value='quinn@example.com'/>
        <apps:property name='endDate' value='2022-08-30 20:00'/>
        <apps:property name='requestDate' value='2022-09-17 12:51'/>
        <apps:property name='beginDate' value='2022-07-01 04:30'/>
   </entry>
</feed>

Java

import java.util.Calendar;
import java.util.List;
import com.google.gdata.client.appsforyourdomain.audit.AuditService;
import com.google.gdata.client.appsforyourdomain.audit.MailBoxDumpRequest;
import com.google.gdata.data.appsforyourdomain.generic.GenericEntry;
...

AuditService service = new AuditService("admin@example.com", "p@55w0rd", "example.com", "example.com-auditapp-v1");
Calendar fromDate = Calendar.getInstance();
fromDate.set(2022, Calendar.AUGUST, 30, 21, 0);
List<GenericEntry> mailboxDumpRequestEntries = service.retrieveAllMailboxDumpRequests(fromDate.getTime());
for (GenericEntry entry : mailboxDumpRequestEntries) {
  MailBoxDumpRequest request = new MailBoxDumpRequest(entry);
  String status = request.getStatus();
}

.NET

using System;
using System.Collections.Generic;
using Google.GData.Apps;
using Google.GData.Extensions.Apps;
...

AuditService service = new AuditService("example.com", "example.com-auditapp-v1");
service.setUserCredentials("admin@example.com", "p@55w0rd");
GenericFeed<MailboxDumpRequest> dumpRequests = service.RetrieveAllMailboxDumpRequests(new DateTime(2022, 8, 30, 21, 0, 0);

Excluir uma caixa de e-mails criptografada

Para excluir os arquivos de caixa de correio criptografados com status COMPLETED ou MARKED_DELETED, faça uma solicitação HTTP DELETE para o URI do feed de exportação, incluindo o requestId da caixa de correio e o cabeçalho Authorization.

DELETE https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/DOMAIN_NAME/SOURCE_USERNAME/MAILBOX_REQUESTID

Substitua:

  • DOMAIN_NAME: o nome do domínio do Google Workspace, por exemplo, example.com.
  • SOURCE_USERNAME: o nome de usuário da caixa de correio que você baixou.
  • MAILBOX_REQUESTID: o requestID é um identificador exclusivo para a solicitação de exportação da caixa de correio que é retornada quando a exportação é solicitada inicialmente.

Se ocorrerem erros durante o processo de exclusão, o status de MARKED_DELETE será retornado. Essa solicitação será excluída automaticamente por um job de limpeza do Google em até 24 horas. No entanto, para uma solicitação com status MARKED_DELETE, alguns (ou todos) os arquivos da caixa de correio ainda podem estar disponíveis para download. Se quiser garantir que os arquivos sejam excluídos, execute essa operação novamente até que o status DELETED seja retornado. Se o status de MARKED_DELETE for retornado de forma consistente, tente de novo após espera exponencial.

Exemplo para excluir uma caixa de correio criptografada

Este exemplo exclui a caixa de e-mails do usuário quinn@example.com associada ao requestId de 34201:

Protocolo

DELETE https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/example.com/quinn/34201

Java

import com.google.gdata.client.appsforyourdomain.audit.AuditService;
...

AuditService service = new AuditService("admin@example.com", "p@55w0rd", "example.com", "example.com-auditapp-v1");
service.deleteMailboxDumpRequest("quinn", "34201");

.Net

using System;
using Google.GData.Apps;
using Google.GData.Extensions.Apps;
...

AuditService service = new AuditService("example.com", "example.com-auditapp-v1");
service.setUserCredentials("admin@example.com", "p@55w0rd");
service.DeleteMailboxDumpRequest("quinn", "34201");