Pobieranie skrzynki pocztowej

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

Maksymalna liczba żądań eksportu skrzynki pocztowej na dzień wynosi łącznie 100 żądań od wszystkich administratorów domen. Proces tworzenia skrzynki pocztowej może zająć dużo czasu i potrwać kilka dni w zależności od jej rozmiaru.

Google przechowuje zaszyfrowane pliki skrzynki pocztowej przez 3 tygodnie, więc pamiętaj, aby pobrać te pliki w tym czasie. Po tym czasie są one usuwane. Aby usunąć te pliki skrzynki pocztowej przed upływem tego okresu, zapoznaj się z artykułem Usuwanie zaszyfrowanej skrzynki pocztowej.

Aby pobrać skrzynkę pocztową:

  • Wygeneruj i prześlij klucz publiczny – utwórz publiczny klucz szyfrowania do pobierania skrzynek pocztowych. Wystarczy wykonać ten krok tylko raz. Jeśli masz już utworzony klucz publiczny, nie musisz wykonywać tego kroku w przypadku każdego eksportu skrzynki pocztowej.
  • Utwórz wersję eksportu skrzynki odbiorczej użytkownika – proces eksportu skrzynki odbiorczej rozpoczyna się, gdy poprosisz o utworzenie kopii skrzynki odbiorczej użytkownika. Interfejs Email Audit API uwierzytelnia i autoryzuje Twoje dane logowania oraz zwraca unikalny identyfikator żądania. Proces tworzenia skrzynki pocztowej może zająć sporo czasu i potrwać kilka dni w zależności od jej rozmiaru.
  • Pobieranie stanu pobierania skrzynki pocztowej – użyj identyfikatora żądania eksportu skrzynki pocztowej, aby uzyskać stan oczekującej prośby. Po skopiowaniu skrzynki pocztowej i przygotowaniu jej do eksportu 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 za pomocą klucza prywatnego domeny. Po odszyfrowaniu pliki są wyświetlane w formacie mbox.

Generowanie klucza publicznego

Zanim będzie można pobrać skrzynkę pocztową, musisz przesłać klucz szyfrowania publicznego OpenPGP dla domeny. Ten krok należy wykonać tylko raz podczas konfigurowania pobierania skrzynki pocztowej. Parę kluczy publiczny-prywatny możesz wygenerować za pomocą dowolnego oprogramowania zgodnego z OpenPGP, takiego jak GNU Privacy Guard (GPG). Ten publiczny klucz szyfrowania powinien być kluczem RSA w formacie PGP zakodowanym w standardzie ASCII.

Aby wygenerować klucz za pomocą 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 opcję sign.

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

  5. Eksportuj tylko klucz odpowiadający identyfikatorowi użytkownika Google Workspace:

    • Jeśli po raz pierwszy generujesz klucz za pomocą GPG, wyeksportuj klucz, który został właśnie wygenerowany:

      gpg --armor --export
      
    • Jeśli korzystasz już z GPG do generowania innych kluczy, masz w swoim kluczniku wiele kluczy. Aby uzyskać listę kluczy:

      gpg --list-keys
      

      Jeśli wyświetla się kilka kluczy, określ uid klucza, który chcesz wyeksportować:

      gpg --armor --export KEY_UID
      
  6. Zakoduj klucz w formacie base64 za pomocą Motobit lub innego narzędzia. Skopiuj wszystkie wiersze, w tym nagłówek, i nie dodawaj żadnych dodatkowych wierszy. Plik klucza publicznego powinien być odczytywany z kodowaniem znaków US-ASCII (IANA – preferowana nazwa kodowania znaków dla ASCII).

Przykład

Z poniższego przykładu dowiesz się, jak przekonwertować klucz publiczny na ciąg znaków zakodowany w standardzie Base64.

W poniższym przykładzie klucz publiczny 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-----

W tym przykładzie klucz publiczny został już przekonwertowany:

LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tDQpWZXJzaW9uOiBHbn
VQRyB2MS40LjEwIChHTlUvTGludXgpDQoNCm1RRU5CRXJXYUQ0QkNBQ3QybmdmczYv

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

Przesyłanie klucza publicznego

  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 publickey w domenie Google Workspace:

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

    Jeśli operacja się powiedzie, serwer zwróci 201 CREATED status code i odpowiedź podobną do tej:

    <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 na potrzeby eksportu

Aby przygotować kopię skrzynki pocztowej użytkownika na potrzeby eksportowania i pobierania, użyj kanału eksportu interfejsu Email Audit API.

Wyślij żądanie POST do identyfikatora URI pliku danych eksportu, uwzględniając 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 nagłówek Content-type:

Content-type: application/atom+xml

Pełną listę parametrów do użycia w żądaniu eksportu skrzynki pocztowej znajdziesz w sekcji Zasoby: export.

Przykład tworzenia skrzynki pocztowej na potrzeby eksportu

Przykład używa tych parametrów:

  • Użytkownik, którego skrzynkę pocztową chcesz wyeksportować, 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ę powiedzie, 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 ma wartość COMPLETED, a wartość numberOfFiles zwracana podczas 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 danych do eksportu skrzynki pocztowej jest procesem asynchronicznym, dlatego użyj tego żądania wyodrębniania, aby sprawdzić, czy przetwarzanie zaszyfrowanej skrzynki zostało ukończone.

Aby pobrać szczegóły stanu skrzynki pocztowej przygotowanej do eksportu, wyślij żądanie HTTP GET z requestId skrzynki pocztowej do URI pliku danych eksportu, uwzględniając 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 prośby o eksport skrzynki pocztowej, który jest zwracany po wysłaniu prośby o eksport.

To żądanie zwraca wpis AtomPub, który zawiera bieżący stan eksportu skrzynki pocztowej. Możliwe wartości bieżącego stanu:

PENDING
Przetwarzamy prośbę.
ERROR
Żądanie nie zostało zrealizowane z powodu błędu. Przykładem możliwego błędu jest przesłanie domeny z nieprawidłowym kluczem publicznym interfejsu API.
COMPLETED
Przetwarzanie prośby zostało zakończone, a zaszyfrowane pliki skrzynki pocztowej są gotowe do pobrania.
MARKED_DELETE
Prośba zostanie oznaczona do usunięcia podczas następnego uruchomienia zadania czyszczenia Google. Więcej informacji o tej operacji czyszczenia znajdziesz w artykule Usuwanie zaszyfrowanej skrzynki pocztowej.
DELETED
Pliki skrzynki zostały usunięte za pomocą operacji Usuń zaszyfrowaną skrzynkę.
EXPIRED
Pliki skrzynki pocztowej zostały usunięte przez Google po upływie 3-tygodniowego limitu przechowywania.

Przykład pobierania stanu eksportu skrzynki pocztowej

W tym przykładzie zwracany jest stan skrzynki pocztowej odpowiadający wartościom requestIds 53156 i 34201 dla 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ę powiedzie, serwer zwróci kod stanu 201 CREATED.

Jak widać z tego komunikatu, stan jest określony jako ERROR, co oznacza, że 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 zwraca stan skrzynki pocztowej odpowiadający adresowi requestId 34201:

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

Drugi przykład jest poprawny i ma stan COMPLETED. Zwraca 2 adresy URL plików skrzynki pocztowej zawierające zaszyfrowane pliki skrzynki pocztowej, które można 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 żądań stanu skrzynki pocztowej

Aby pobrać wszystkie żądania skrzynki pocztowej dla domeny od określonej daty, wyślij żądanie HTTP GET do identyfikatora URI pliku danych eksportu, dołączając 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: data zaszyfrowanego żądania skrzynki pocztowej zakodowana w formacie uniwersalnego czasu koordynowanego (UTC). Jeśli w żądaniu GET nie ma określonego parametru fromDate, pobierane są wszystkie żądania z ostatnich 3 tygodni.

W przypadku dużej odpowiedzi każda strona wyników zwraca maksymalnie 100 rekordów i zawiera URI w tagu <link rel='next'...> wskazującym na następną stronę wyników. Podczas tworzenia aplikacji klienckiej kod musi zarządzać tymi dodatkowymi wynikami.

Przykład pobierania wszystkich próśb o stan skrzynki pocztowej

W tym przykładzie pobierane są wszystkie prośby o stan skrzynki pocztowej w domenie example.com przesłane w dniu 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 URI pliku danych eksportu, podając 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 skrzynki pocztowej, którą pobierzesz.
  • MAILBOX_REQUESTID: requestID to unikalny identyfikator prośby o eksport skrzynki pocztowej, który jest zwracany po wysłaniu prośby o eksport.

Jeśli podczas procesu usuwania wystąpią błędy, zwrócony zostanie stanMARKED_DELETE. Ta prośba zostanie automatycznie usunięta przez zadanie czyszczenia Google w ciągu 24 godzin. Jednak w przypadku żądania o stanie MARKED_DELETE niektóre (lub wszystkie) pliki skrzynki pocztowej mogą być nadal dostępne do pobrania. Jeśli chcesz mieć pewność, że pliki zostały usunięte, wykonaj tę operację ponownie, aż zwrócony zostanie stan DELETED. Jeśli stan MARKED_DELETE jest zwracany konsekwentnie, spróbuj ponownie po wzrastającym czasie ponowienia.

Przykład usuwania zaszyfrowanej skrzynki pocztowej

W tym przykładzie usuwamy skrzynkę pocztową użytkownika quinn@example.com powiązaną z requestId w 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");