Fazer o download de uma caixa de e-mails

Como administrador, você pode fazer o download de contas de caixa de entrada no seu domínio para fins de auditoria. Para preparar uma caixa de entrada para exportação, a API Email Audit cria uma cópia criptografada da caixa de entrada 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 número máximo de solicitações de criação de exportação de caixas de correio por dia é de 100 solicitações de todos os administradores de domínio. O processo de criação de caixas de e-mail pode ser demorado e levar vários dias, dependendo do tamanho da caixa.

O Google retém os arquivos de caixa de correio criptografados por três semanas. Faça o download deles dentro desse período. Após esse período, eles são excluídos. Para excluir esses arquivos de caixa de correio 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 fazer o download de caixas de entrada. 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 exportada 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. A criação de caixas de e-mail pode levar vários dias, dependendo do tamanho da caixa.
  • Recuperar o status de 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 for copiada e preparada para exportação, a resposta vai retornar um status de COMPLETED com a lista de arquivos de caixa de correio criptografados como URLs HTTP. Use esse conjunto de URLs para fazer o download dos arquivos da caixa de correio.
  • Acessar os arquivos de caixa de entrada transferidos por download: depois de fazer o download dos arquivos criptografados, descriptografe os arquivos de caixa de entrada usando a chave privada do domínio. Depois de descriptografados, os arquivos são visualizados no formato mbox.

Gerar uma chave pública

Antes de fazer o download da caixa de correio, é necessário fazer upload de uma chave de criptografia pública do OpenPGP para o domínio. Essa etapa é feita uma vez ao configurar o download da caixa de correio. É possível gerar o par de chaves pública/privada usando qualquer software compatível com o OpenPGP, como o GNU Privacy Guard (GPG). Essa chave de criptografia pública 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. Gerar uma nova chave:

    gpg --gen-key --expert
    
  3. Para definir seus próprios recursos, selecione a opção 8 e ative o recurso de assinatura.

  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 assinatura porque ela não é usada.

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

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

      gpg --armor --export
      
    • Se você já usou o GPG para gerar outras chaves, tem 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 codificação base64 com 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, (nome de conjunto de caracteres preferido da IANA para ASCII).

Exemplo

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

O exemplo a seguir é a 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-----

O exemplo a seguir é a 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 o 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 for bem-sucedido, o servidor 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 e-mails 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 de domínio do Google Workspace, por exemplo, example.com.
  • SOURCE_USERNAME: o nome de usuário da caixa de correio que você quer fazer o download.

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 retornará um código de status 201 CREATED e uma entrada do 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 dessa 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);

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

Como a preparação da exportação de caixa de correio é um processo assíncrono, use essa 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 entrada preparada para exportação, envie uma solicitação GET HTTP com o requestId da caixa de entrada 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 de domínio do Google Workspace, por exemplo, example.com.
  • SOURCE_USERNAME: o nome de usuário da caixa de correio que você quer fazer o download.
  • MAILBOX_REQUESTID: o requestID é um identificador exclusivo para a solicitação de exportação da caixa de correio que é retornado quando a exportação é inicialmente solicitada.

Essa solicitação retorna uma entrada do AtomPub que inclui o status atual da exportação da caixa de correio. Os valores possíveis para o status atual são os seguintes:

PENDING
A solicitação está sendo processada.
ERROR
A solicitação falhou devido a um erro. Um exemplo de possível erro é que uma chave pública da API errada foi enviada para o domínio.
COMPLETED
A solicitação foi processada por completo, e os arquivos de caixa de correio criptografados 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 trabalho 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 entrada foram excluídos pelo Google após o limite de retenção de três semanas.

Exemplo de como 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 para o usuário quinn@example.com.

Protocolo

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

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

Como você pode ver na resposta a seguir, o status é ERROR e, portanto, os arquivos de caixa de correio criptografados 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 arquivo de caixa de correio que contêm os arquivos de caixa de correio criptografados, que podem ser transferidos por download 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;

Extrair todas as solicitações de status da caixa de e-mails

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 de domínio do Google Workspace, por exemplo, example.com.
  • FROM_DATE: a data codificada por URL de uma solicitação de caixa de correio cifrada no formato 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 de recuperação de todas as solicitações de status da caixa de correio

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

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 de domínio do Google Workspace, por exemplo, example.com.
  • SOURCE_USERNAME: o nome de usuário da caixa de correio que você fez o download.
  • MAILBOX_REQUESTID: o requestID é um identificador exclusivo para a solicitação de exportação da caixa de correio que é retornado quando a exportação é inicialmente solicitada.

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) arquivos de caixa de e-mail ainda podem estar disponíveis para download. Se você 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 novamente após esperas exponenciais.

Exemplo de exclusão de uma caixa de correio criptografada

Este exemplo exclui a caixa de e-mails do usuário quinn@example.com associado 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");