Pobieranie skrzynki pocztowej

Jako administrator możesz pobierać konta skrzynek pocztowych w swojej domenie na potrzeby kontroli. Aby przygotować skrzynkę pocztową do wyeksportowania, interfejs Email Audit API tworzy zaszyfrowaną kopię skrzynki pocztowej użytkownika. System zwraca adresy URL zaszyfrowanych plików skrzynek pocztowych, które po pobraniu i odszyfrowaniu są dostępne w formacie mbox.

Maksymalna dzienna liczba próśb o utworzenie eksportu skrzynki pocztowej to 100 żądań od wszystkich administratorów domeny. Proces tworzenia skrzynki pocztowej może być czasochłonny i może zająć kilka dni w zależności od jej rozmiaru.

Google przechowuje zaszyfrowane pliki skrzynki pocztowej przez 3 tygodnie, więc pamiętaj, aby pobrać je w tym okresie. Po tym czasie są one usuwane. Aby dowiedzieć się, jak usunąć te pliki skrzynki pocztowej przed upływem okresu, zobacz Usuwanie zaszyfrowanej skrzynki pocztowej.

Aby pobrać skrzynkę pocztową, wykonaj te czynności:

  • Wygeneruj i prześlij klucz publiczny – utwórz publiczny klucz szyfrowania do pobierania skrzynek pocztowych. Wystarczy, że zrobisz to tylko raz. Jeśli masz już utworzony klucz publiczny, nie musisz wykonywać tego kroku przy każdym eksportowaniu skrzynki pocztowej.
  • Tworzenie wersji eksportu skrzynki pocztowej użytkownika – proces eksportu skrzynki pocztowej rozpoczyna się, gdy poprosisz o utworzenie kopii skrzynki pocztowej użytkownika. Email Audit API uwierzytelnia i autoryzuje Twoje dane logowania oraz zwraca unikalny identyfikator żądania. Proces tworzenia skrzynki pocztowej może być czasochłonny i może zająć kilka dni w zależności od jej rozmiaru.
  • Pobierz stan pobierania skrzynki pocztowej – aby sprawdzić stan oczekującej prośby, użyj identyfikatora prośby o eksport skrzynki pocztowej. Po skopiowaniu skrzynki pocztowej i przygotowaniu jej do wyeksportowania odpowiedź zwraca stan COMPLETED wraz z listą zaszyfrowanych plików skrzynki pocztowej jako adresy URL HTTP. Użyj tego zestawu adresów URL, aby pobrać pliki skrzynki pocztowej.
  • Pobierz pobrane pliki skrzynki pocztowej – po pobraniu zaszyfrowanych plików odszyfruj je przy użyciu klucza prywatnego domeny. Po odszyfrowaniu pliki są wyświetlane w formacie mbox.

Generowanie klucza publicznego

Zanim pobierzesz skrzynkę pocztową, musisz przesłać publiczny klucz szyfrowania OpenPGP dla domeny. Tę czynność wykona się tylko raz podczas konfigurowania pobierania ze skrzynki pocztowej. Parę kluczy publiczny i prywatny możesz wygenerować przy użyciu dowolnego oprogramowania zgodnego z OpenPGP, takiego jak GNU Privacy Guard (GPG). Ten publiczny klucz szyfrowania powinien być kluczem RSA w formacie PGP zakodowanym w ASCII.

Aby wygenerować klucz przy użyciu narzędzia GNU Privacy Guard, wykonaj te czynności:

  1. Zainstaluj GnuPG 1.4.

  2. Wygeneruj nowy klucz:

    gpg --gen-key --expert
    
  3. Aby ustawić własne możliwości, wybierz opcję 8 i przełącz możliwość podpisywania.

  4. Aby zakończyć proces generowania klucza, zaakceptuj wszystkie opcje domyślne. Ten klucz powinien mieć włączone działanie szyfrowania. Możesz wyłączyć podpisywanie, ponieważ nie jest ono używane.

  5. Wyeksportuj tylko klucz identyfikatora użytkownika odpowiadający Twojemu Google Workspace:

    • Jeśli po raz pierwszy używasz GPG do generowania klucza, wyeksportuj wygenerowany przed chwilą klucz:

      gpg --armor --export
      
    • Jeśli klucze GPG zostały już wygenerowane za pomocą klucza GPG, istnieje wiele kluczy w pęku kluczy. Pobierz listę kluczy:

      gpg --list-keys
      

      Jeśli na liście jest wiele kluczy, określ uid tego klucza, który chcesz wyeksportować:

      gpg --armor --export KEY_UID
      
  6. Zakoduj klucz za pomocą kodowania base64 za pomocą Motobita lub innego narzędzia. Skopiuj wszystkie wiersze (w tym nagłówek) i nie dodawaj żadnych dodatkowych wierszy. Plik klucza publicznego należy odczytywać z zestawem znaków US-ASCII (preferowana nazwa zestawu znaków dla ASCII w IANA).

Przykład

Poniższy przykład pokazuje, jak przekonwertować klucz publiczny na ciąg zakodowany w standardzie base64.

Oto przykład klucza publicznego przed konwersją:

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

Oto przykład klucza publicznego po konwersji:

LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tDQpWZXJzaW9uOiBHbn
VQRyB2MS40LjEwIChHTlUvTGludXgpDQoNCm1RRU5CRXJXYUQ0QkNBQ3QybmdmczYv

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

Prześlij klucz publiczny

  1. Aby przesłać klucz publiczny, utwórz wpis XML z kluczem publicznym zakodowanym w standardzie 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. Wyślij żądanie HTTP POST do identyfikatora URI kanału publickey w swojej domenie Google Workspace:

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

    Jeśli operacja się uda, serwer zwróci 201 CREATED status code i odpowiedź podobną do tego przykładu:

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

Tworzenie kopii skrzynki pocztowej do eksportu

Aby przygotować kopię skrzynki pocztowej użytkownika do wyeksportowania i pobrania, użyj pliku danych eksportu interfejsu Email Audit API.

Wyślij żądanie POST do identyfikatora URI kanału eksportu i dołącz nagłówek Authorization:

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

Zastąp następujące elementy:

  • DOMAIN_NAME: nazwa domeny Google Workspace, na przykład example.com.
  • SOURCE_USERNAME: nazwa użytkownika skrzynki pocztowej, którą chcesz pobrać.

Żądanie zawiera ten nagłówek Content-type:

Content-type: application/atom+xml

Pełną listę parametrów, które można użyć w żądaniu eksportu skrzynki pocztowej, znajdziesz w artykule na temat zasobów: export.

Przykład tworzenia skrzynki pocztowej na potrzeby eksportu

W przykładzie użyto tych parametrów:

  • Użytkownik do wyeksportowania skrzynki pocztowej to quinn@example.com.
  • Nowa wartość „beginDate” to July 1, 2022, 04:30 hours.
  • Nowa wartość „endDate” to August 30, 2022, 20:00 hours.
  • includeDeleted to false.
  • searchQuery to in:chat.
  • Nowa wartość „packageContent” to FULL_MESSAGE.

Protokół

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>

Jeśli operacja się uda, serwer zwróci kod stanu 201 CREATED i wpis 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>

W tym przykładzie przetwarzanie skrzynki pocztowej zostało zakończone. Właściwość status to COMPLETED, a wartość numberOfFiles zwrócona do eksportu to 2.

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);

Pobieranie stanu eksportu skrzynki pocztowej

Przygotowanie eksportu skrzynki pocztowej to proces asynchroniczny, dlatego skorzystaj z tego żądania, aby sprawdzić, czy przetwarzanie zaszyfrowanej skrzynki pocztowej zostało zakończone.

Aby pobrać informacje o stanie skrzynki pocztowej przygotowanej do wyeksportowania, wyślij żądanie HTTP GET z identyfikatorem requestId skrzynki pocztowej do identyfikatora URI pliku eksportu i dołącz nagłówek Authorization:

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

Zastąp następujące elementy:

  • DOMAIN_NAME: nazwa domeny Google Workspace, na przykład example.com.
  • SOURCE_USERNAME: nazwa użytkownika skrzynki pocztowej, którą chcesz pobrać.
  • MAILBOX_REQUESTID: requestID to unikalny identyfikator żądania eksportu skrzynki pocztowej, który jest zwracany po początkowym żądaniu eksportu.

To żądanie zwraca wpis AtomPub zawierający bieżący stan eksportu skrzynki pocztowej. Obecny stan może mieć następujące wartości:

PENDING
Przetwarzamy Twoją prośbę.
ERROR
Nie udało się zrealizować prośby z powodu błędu. Przykładem błędu może być przesłanie nieprawidłowego klucza publicznego interfejsu API do domeny.
COMPLETED
Prośba została w pełni przetworzona i zaszyfrowane pliki skrzynki pocztowej są gotowe do pobrania.
MARKED_DELETE
Żądanie zostanie oznaczone do usunięcia przy następnym uruchomieniu zadania czyszczenia Google. Więcej informacji o tym zadaniu czyszczenia znajdziesz w artykule Usuwanie zaszyfrowanej skrzynki pocztowej.
DELETED
Pliki skrzynki pocztowej zostały usunięte przy użyciu operacji Usuń zaszyfrowaną skrzynkę pocztową.
EXPIRED
Pliki skrzynki pocztowej zostały usunięte przez Google po 3-tygodniowym limicie przechowywania.

Przykład pobierania stanu eksportu skrzynki pocztowej

W tym przykładzie pobierany jest stan skrzynki pocztowej powiązany z requestIds 53156 i 34201 użytkownika quinn@example.com.

Protokół

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

Jeśli operacja się uda, serwer zwróci kod stanu 201 CREATED.

Jak widać w odpowiedzi poniżej, stan to ERROR, a zatem zaszyfrowane pliki skrzynki pocztowej nigdy nie zostały utworzone.

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

Ten przykład pobiera stan skrzynki pocztowej odpowiadający wartości requestId 34201:

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

Drugi przykład ma stan COMPLETED. Zwraca 2 adresy URL plików skrzynek pocztowych, które zawierają zaszyfrowane pliki skrzynek pocztowych. Można je pobrać, używając adresów URL w elementach 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;

Pobieranie wszystkich próśb o stan skrzynki pocztowej

Aby pobrać wszystkie żądania do skrzynki pocztowej z domeny mającej określony dzień, wyślij żądanie HTTP GET do identyfikatora URI kanału eksportu i dołącz nagłówek Authorization:

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

Zastąp następujące elementy:

  • DOMAIN_NAME: nazwa domeny Google Workspace, na przykład example.com.
  • FROM_DATE: zakodowana w adresie URL data zaszyfrowanego żądania skrzynki pocztowej w formacie UTC. Jeśli w tym żądaniu GET nie określono właściwości fromDate, pobierane są wszystkie żądania z ostatnich 3 tygodni.

W przypadku dużej odpowiedzi każda strona wyników zwraca maksymalnie 100 wpisów i zawiera w tagu <link rel='next'...> identyfikator URI wskazujący następną stronę wyników. Gdy tworzysz aplikację kliencką, kod musi zarządzać tymi dodatkowymi wynikami.

Przykład pobierania wszystkich żądań stanu skrzynki pocztowej

Ten przykład pobiera wszystkie żądania stanu skrzynki pocztowej domeny example.com przesłane 9 PM, August 30, 2022 lub później:

Protokół

<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);

Usuwanie zaszyfrowanej skrzynki pocztowej

Aby usunąć zaszyfrowane pliki skrzynki pocztowej o stanie COMPLETED lub MARKED_DELETED, wyślij żądanie HTTP DELETE do identyfikatora URI pliku eksportu zawierającego identyfikator requestId skrzynki pocztowej i nagłówek Authorization.

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

Zastąp następujące elementy:

  • DOMAIN_NAME: nazwa domeny Google Workspace, na przykład example.com.
  • SOURCE_USERNAME: nazwa użytkownika pobranej skrzynki pocztowej.
  • MAILBOX_REQUESTID: requestID to unikalny identyfikator żądania eksportu skrzynki pocztowej, który jest zwracany po początkowym żądaniu eksportu.

Jeśli podczas usuwania wystąpią błędy, zostanie zwrócony stan MARKED_DELETE. Prośba zostanie automatycznie usunięta przez zadanie czyszczenia Google w ciągu 24 godzin. W przypadku żądania o stanie MARKED_DELETE niektóre (lub wszystkie) pliki skrzynek pocztowych mogą być nadal dostępne do pobrania. Jeśli chcesz mieć pewność, że pliki zostały usunięte, uruchamiaj tę operację ponownie, aż zostanie zwrócony stan DELETED. Jeśli stan funkcji MARKED_DELETE jest zwracany konsekwentnie, spróbuj ponownie po upływie wykładniczego czasu powrotnego.

Przykład usuwania zaszyfrowanej skrzynki pocztowej

Ten przykład usuwa skrzynkę pocztową użytkownika quinn@example.com powiązanego z requestId na koncie 34201:

Protokół

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");