Fazer o download de uma caixa de e-mails

Como administrador, é possível fazer o download de contas de caixa de e-mails no seu domínio para fins de auditoria. Para preparar uma caixa de e-mails para exportação, a API Email Audit cria uma cópia criptografada da caixa de e-mails de um usuário. O sistema retorna os URLs dos arquivos da caixa de e-mails criptografados que, quando transferidos por download e descriptografados, ficam disponíveis no formato mbox.

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

O Google retém os arquivos da caixa de e-mails criptografados por três semanas. Portanto, faça o download desses arquivos da caixa de e-mails nesse período. Após esse período, eles são excluídos. Para excluir esses arquivos da caixa de e-mails antes do final do período, consulte Excluir uma caixa de e-mails criptografada.

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

  • Gere e faça upload de uma chave pública: crie uma chave de criptografia pública para fazer o download de caixas de e-mails. Essa etapa só precisa ser feita uma vez. Se você já criou uma chave pública, não é necessário concluir essa etapa para cada exportação da caixa de e-mails.
  • Criar uma versão de exportação da caixa de correio de um usuário: o processo de exportação da caixa de e-mails 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 as credenciais e retorna um ID de solicitação exclusivo. O processo de criação da caixa de e-mails pode ser demorado e, dependendo do tamanho da caixa de correio.
  • 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 ver o status da solicitação pendente. Depois que a caixa de e-mails for copiada e preparada para exportação, a resposta retornará um status COMPLETED junto com a lista de arquivos da caixa de e-mails criptografados como URLs HTTP. Use esse conjunto de URLs para fazer o download dos arquivos da caixa de e-mails.
  • Consiga os arquivos da caixa de e-mails transferidos por download. Depois de fazer o download dos arquivos criptografados, descriptografa os arquivos 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 e-mails, é necessário fazer upload de uma chave de criptografia pública do OpenPGP para o domínio. Essa etapa é concluída uma vez ao configurar o download da caixa de e-mails. É possível gerar o par de chaves pública/privada usando qualquer software compatível com OpenPGP, como o GNU Privacy Guard (GPG). Essa chave de criptografia pública deve 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 seus próprios recursos, selecione a opção 8 e alterne o recurso de sinal.

  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 do usuário correspondente ao Google Workspace:

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

      gpg --armor --export
      
    • Se você já usou o GPG para gerar outras chaves, terá várias chaves no seu keyring. Para receber uma lista de chaves, faça o seguinte:

      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 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 do conjunto de caracteres preferencial 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 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 e-mails que você quer fazer o download.

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

Content-type: application/atom+xml

Para ver uma lista completa dos parâmetros a serem usados em uma solicitação de exportação da caixa de e-mails, consulte Recursos: export.

Exemplo de criação de uma caixa de correio para exportação

O exemplo usa os seguintes parâmetros:

  • O usuário para quem a caixa de e-mails será exportada é 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 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 e-mails foi concluído. A propriedade status é COMPLETED e a numberOfFiles retornada 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 da exportação da caixa de correio é um processo assíncrono, use essa solicitação de recuperação para ver se o processamento da caixa de correio criptografada foi concluído.

Para recuperar detalhes do status de uma caixa de e-mails preparada para exportação, envie uma solicitação GET HTTP 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 de domínio do Google Workspace, por exemplo, example.com.
  • SOURCE_USERNAME: o nome de usuário da caixa de e-mails que você quer fazer o download.
  • MAILBOX_REQUESTID: o requestID é um identificador exclusivo da 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 os seguintes:

PENDING
A solicitação está sendo processada.
ERROR
Falha na solicitação devido a um erro. Um exemplo de erro possível é que uma chave pública de API incorreta foi enviada para o domínio.
COMPLETED
A solicitação foi processada completamente, e os arquivos da caixa de e-mails criptografados estão prontos para download.
MARKED_DELETE
A solicitação será 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 e-mails criptografada.
DELETED
Os arquivos da caixa de e-mails foram excluídos com êxito usando a operação Excluir uma caixa de e-mails criptografada.
EXPIRED
Os arquivos da caixa de e-mails 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 e-mails

Este exemplo recupera o status da caixa de e-mails correspondente a 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 for bem-sucedido, o servidor retornará um código de status 201 CREATED.

Como é possível observar na resposta a seguir, o status é ERROR e, portanto, os arquivos criptografados da caixa de e-mails 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 e-mails correspondente ao requestId 34201:

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

O segundo exemplo é bem-sucedido com um status COMPLETED. Ela retorna dois URLs de arquivos de caixa de e-mails 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;

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

Para recuperar todas as solicitações da caixa de e-mails de um domínio a partir de uma determinada data, 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 pelo URL de uma solicitação de caixa de correio criptografada no formato Tempo Universal Coordenado (UTC). Se nenhum fromDate for especificado nessa solicitação de 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, o código precisa gerenciar esses resultados adicionais.

Exemplo de recuperação de todas as solicitações de status da caixa de e-mails

Este exemplo recupera todas as solicitações de status da caixa de e-mails para o domínio example.com feitas a partir de 9 PM, August 30, 2022:

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 da caixa de e-mails 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 e-mails 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 e-mails que você transferiu por download.
  • MAILBOX_REQUESTID: o requestID é um identificador exclusivo da solicitação de exportação da caixa de correio que é retornada quando a exportação é solicitada inicialmente.

Se algum erro for encontrado durante o processo de exclusão, o status MARKED_DELETE será retornado. Esta solicitação será excluída automaticamente por um job de limpeza do Google em até 24 horas. No entanto, para uma solicitação com o status MARKED_DELETE, alguns (ou todos) os arquivos da caixa de e-mails ainda podem estar disponíveis para download. Se você quiser garantir que os arquivos sejam excluídos, execute esta 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 de tempo exponenciais.

Exemplo de exclusão de uma caixa de e-mails 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");