Przewodnik po interfejsie API kontroli poczty e-mail Google Workspace

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Interfejs Google Workspace Email Audit API pozwala administratorom Google Workspace kontrolować e-maile, wersje robocze e-maili i zarchiwizowane czaty Hangouts. Oprócz tego administrator domeny może pobrać skrzynkę pocztową użytkownika. Interfejs API może być używany wyłącznie do celów zgodnych z prawem zgodnie z Umową klienta. Ten interfejs API dotyczy tylko kont Google Workspace, Education i ISP. Nie jest ono używane na koncie Google Workspace ani w Gmailu, które nie jest hostowane w usługach Google Workspace.

Interfejs Google Workspace Email Audit API obsługuje protokół Google Data API. Interfejs Google Data API jest zgodny z modelem publikowania i edytowania AtomPub (AtomPub). Żądania HTTP AtomPub wykorzystują model projektowania reprezentatywnego zestawu transferu (RESTful) do usług internetowych. Więcej informacji znajdziesz w artykule Omówienie interfejsów API danych Google.

Odbiorców

Ten dokument jest przeznaczony dla programistów, którzy chcą tworzyć aplikacje klienckie, które na potrzeby audytu prawnego mogą kontrolować skrzynkę pocztową użytkownika Google Workspace.

W tym dokumencie zakładamy, że jesteś administratorem domeny Google Workspace i rozumiesz ogólne pomysły związane z protokołem API danych Google, a także znasz konsolę administracyjną Google Workspace dostępną na stronie {: .external}. Więcej informacji o konsoli administracyjnej znajdziesz w artykule Używanie konsoli administracyjnej.

Zarządzanie monitorami poczty e-mail

Typy użytkowników w monitorowanym e-mailu

Scenariusz obejmuje tylko trzy typy użytkowników:

  • Administrator – każdy administrator domeny może tworzyć, pobierać, aktualizować i usuwać monitory poczty e-mail za pomocą zasobu monitorowania adresu e-mail. Dodatkowo administrator może użyć interfejsu API do pobrania skrzynki pocztowej. Te operacje można wykonywać tylko w domenie, nad którą administrator sprawuje kontrolę.

  • Użytkownik źródłowy – użytkownik odbierający lub wysyłając wiadomości, które jest sprawdzane przez użytkownika docelowego. Każdy administrator domeny i użytkownik konta może być użytkownikiem źródłowym. Źródłowy użytkownik musi być w tej samej domenie co administrator i użytkownik docelowy.

  • Użytkownik docelowy – użytkownik docelowy to audytor, który odbiera kontrolowane e-maile.

    • Użytkownik docelowy otrzymuje żalujące kopie wszystkich e-maili przychodzących i wychodzących, w tym wiadomości przychodzących i wychodzących, a także wiadomości przekazywane z urządzeń mobilnych.
    • Administrator domeny może też włączyć dodatkowe funkcje kontroli dla użytkownika docelowego. Funkcje opcjonalne obejmują sprawdzanie zapisanych wersji roboczych e-maili oraz kontrolę zarchiwizowanych czatów z innymi użytkownikami spoza domeny.
    • Mimo że użytkownik docelowy otrzymuje kopię UDW wiadomości, powiązanie UDW nie jest widoczne w nagłówkach wiadomości dostępnych na koncie użytkownika źródłowego.
    • Każdy skontrolowany e-mail jest wysyłany do użytkownika docelowego jako załącznik. Administrator domeny może skonfigurować te wiadomości jako pełne lub tylko ich nagłówki.
    • Ten użytkownik docelowy musi mieć aktywne konto e-mail w monitorowanej domenie. Musi to być ta sama domena powiązana z administratorem i użytkownikiem źródłowym.
    • Użytkownikem docelowym może być administrator lub użytkownik w domenie. Ten użytkownik docelowy może zmienić rolę, aby zostać użytkownikiem źródłowym weryfikowanym przez innego użytkownika docelowego, który z kolei otrzymuje kopie wszystkich kontrolowanych e-maili wysłanych do pierwszego użytkownika docelowego.
    • Administrator domeny tworzy jeden monitorowany adres e-mail dla 1 unikalnej pary użytkownik docelowy – użytkownik źródłowy. Innymi słowy, relacja kontroli to jeden użytkownik docelowy w przypadku jednego użytkownika źródłowego. Każdy audyt odbywa się za pomocą zasobu monitorowania interfejsu API. Korzystając z wielu monitorów API, użytkownik docelowy może kontrolować wiele kont użytkowników w domenie. Dzięki wielu monitorom API wielu użytkowników docelowych może kontrolować jednego użytkownika źródłowego.
    • Jeśli utworzysz dodatkowy monitor interfejsu API lub zaktualizujesz istniejący monitor API dla pary „użytkownik docelowy – użytkownik źródłowy” i para utworzona, która została utworzona jako ostatnia, zastąpi ona dotychczasowe monitory. Ogólnie mówiąc, tak aktualizujesz monitor API. Więcej informacji o aktualizowaniu monitora znajdziesz w artykule o [aktualizowaniu monitora poczty e-mail][#uploading_the_public_key].

Tworzenie nowego monitora poczty e-mail

Aby rozpocząć kontrolę, skorzystaj z zasobu monitora poczty e-mail API. Aby utworzyć monitor poczty e-mail, wyślij poniższe żądanie POST.

POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/{domain name}/{source user name}

Żądanie POST zawiera taki nagłówek Content-Type:

Content-type: application/atom+xml

Parametry żądania:

nazwa_użytkownika
destUserName to użytkownik docelowy, a nie nazwa użytkownika, który otrzymuje kopie wiadomości. To użytkownik kontroluje wiadomości. Na przykład w domenie example.com aby ustawić użytkownika namrata@example.com jako docelowego, użyj name='destUserName' value='namrata'. Jest to element wymagany. Więcej informacji o użytkowniku docelowym znajdziesz w artykule Typy użytkowników w przypadku kontrolowanego scenariusza poczty e-mail.
  • Unikalny para monitorów API jest monitorować tylko dla unikalnego użytkownika i użytkownika docelowego. :
  • Jeśli dla tego samego pary klucz-wartość użytkownika zostanie utworzony więcej niż jeden monitor API, ustawienia ostatniego monitora zostaną zachowane. W ten sposób zaktualizujesz konfigurację audytowanej poczty e-mail. Więcej informacji znajdziesz w artykule Aktualizowanie monitora poczty e-mail.
Data rozpoczęcia
beginDate to data rozpoczęcia kontroli. Jest to element opcjonalny. Jeśli ten element jest pusty, kontrola poczty e-mail rozpoczyna się natychmiast od bieżącej daty. W tym przypadku wartość właściwości endDate musi być większa niż bieżąca data.
  • Format daty to yyyy-MM-dd HH:mm, gdzie HH to godzina w zakresie 0–23, a mm to minuty godziny z zakresu 0–59. :
  • Strefa czasowa HH:mm ma format czasu UTC (uniwersalnego czasu koordynowanego). Przed utworzeniem nowego monitora przekonwertuj czas na format UTC. :
  • Musi to być data bieżąca lub przyszła. W przeciwnym razie zwracany jest błąd.
Data zakończenia
endDate to data zakończenia audytu. Jest to element wymagany.
  • Zgodnie ze składnią parametru beginDate format endDate to yyyy-MM-dd HH:mm, gdzie HH to godzina w zakresie 0–23, a mm to minuty godziny z zakresu 0–59. :
  • Strefa czasowa HH:mm ma format czasu UTC (uniwersalnego czasu koordynowanego). Przed utworzeniem nowego monitora przekonwertuj czas na format UTC. :
  • Wartość endDate musi być większa niż wartość właściwości beginDate. Jeśli nie określisz właściwości beginDate, bieżąca data stanie się wartością właściwości beginDate. W tym przypadku pole endDate musi być większe niż bieżąca data.
PojedynczyAdres e-mailMonitorPoziomu
Wartość incomingEmailMonitorLevel to ilość kontrolowanych informacji zbieranych na potrzeby przychodzących e-maili. Jest to element opcjonalny. Jeśli nie podasz żadnej wartości, domyślną wartością będzie FULL_MESSAGE.
  • FULL_MESSAGE – cała przychodząca treść e-maila jest wysyłana do użytkownika docelowego. :
  • Header_ONLY – do użytkownika docelowego są wysyłane tylko informacje o nagłówku.
OutboundEmailMonitorLevel,
outgoingEmailMonitorLevel to ilość monitorowanych informacji zbieranych dla wychodzących e-maili. Jest to element opcjonalny. Jeśli nie podasz żadnej wartości, domyślną wartością będzie FULL_MESSAGE.
  • FULL_MESSAGE – cała wychodząca treść e-maila jest wysyłana do użytkownika docelowego. :
  • Header_ONLY – informacje o nagłówku wychodzącego e-maila są wysyłane do użytkownika docelowego.
wersja roboczaMonitorMonitor
Wartość draftMonitorLevel to ilość danych kontrolnych gromadzonych na potrzeby wersji roboczych e-maili. Jest to element opcjonalny. Jeśli nie podasz wartości lub pusty ciąg tekstowy dla tego elementu, nie będą sprawdzane żadne wersje robocze e-maili. Ustawienie domyślne to NONE.
  • FULL_MESSAGE – wersja robocza treści e-maila jest wysyłana do użytkownika docelowego. :
  • Header_ONLY – tylko wersja robocza nagłówka e-maila jest wysyłana do użytkownika docelowego.
PoziomMonitorowanieMonitoru
chatMonitorLevel to ilość informacji pochodzących z audytu zarchiwizowanych w przypadku zarchiwizowanych czatów w Hangouts. Jest to element opcjonalny. Jeśli nie podasz wartości lub pusty ciąg tekstowy dla tego elementu, nie będą sprawdzane żadne wersje robocze e-maili. (jest to ustawienie domyślne)
  • FULL_MESSAGE – pełny tekst czatu jest wysyłany do użytkownika docelowego. :
  • Header_ONLY – tylko nagłówek czatu jest wysyłany do użytkownika docelowego.

Przykład tworzenia nowego monitora

W tym przykładzie:

  • Konto użytkownika, które ma zostać poddane kontroli, to abhishek@example.com.
  • Wartość destUserName to namrata.
  • Data rozpoczęcia to June 15, 2009, 00:00 hours.
  • Data zakończenia to June 30, 2009, 23:20 hours.
  • Wartość pola przychodzącego adresu e-mail to FULL_MESSAGE.
  • OutboundEmailMonitorLevel ma wartość HEADER_ONLY.
  • Wersja roboczaMonitorMonitorLevel to FULL_MESSAGE.
  • Parametr chatMonitorLevel to FULL_MESSAGE.

Protokół

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

<atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
   <apps:property name='destUserName' value='namrata'/>
   <apps:property name='beginDate' value='2009-06-15 00:00'/>
   <apps:property name='endDate' value='2009-06-30 23:20'/>
   <apps:property name='incomingEmailMonitorLevel' value='FULL_MESSAGE'/>
   <apps:property name='outgoingEmailMonitorLevel' value='HEADER_ONLY'/>
   <apps:property name='draftMonitorLevel' value='FULL_MESSAGE'/>
   <apps:property name='chatMonitorLevel' value='FULL_MESSAGE'/>
</atom:entry>

W przypadku powodzenia serwer zwraca kod stanu „UTWÓRZ 201” w dokumentacji kodów stanu HTTP interfejsu Google Data API. Razem z kodem stanu odpowiedź zawiera element AtomPub z elementem entry pokazującym nowe ustawienia monitora.

<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/monitor/example.com/abhishek/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/mail/monitor/example.com/abhishek/id'/>
    <link rel='edit' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/abhishek/id'/>
    <apps:property name='destUserName' value='namrata'/>
    <apps:property name='beginDate' value='2009-06-15 00:00'/>
    <apps:property name='endDate' value='2009-06-30 23:20'/>
    <apps:property name='incomingEmailMonitorLevel' value='FULL_MESSAGE'/>
    <apps:property name='outgoingEmailMonitorLevel' value='HEADER_ONLY'/>
    <apps:property name='draftMonitorLevel' value='FULL_MESSAGE'/>
    <apps:property name='chatMonitorLevel' value='FULL_MESSAGE'/>
</entry>

Java

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

MailMonitor monitor = new MailMonitor();
Calendar beginDate = Calendar.getInstance();
beginDate.set(2009, Calendar.JUNE, 15, 0, 0)
monitor.setBeginDate(beginDate.getTime());
Calendar endDate = Calendar.getInstance();
endDate.set(2009, Calendar.JUNE, 30, 23, 20);
monitor.setEndDate(endDate.getTime());
monitor.setIncomingEmailMonitorLevel("FULL_MESSAGE");
monitor.setOutgoingEmailMonitorLevel("HEADER_ONLY");
monitor.setDraftMonitorLevel("FULL_MESSAGE");
monitor.setChatMonitorLevel("FULL_MESSAGE");
monitor.setDestUserName("namrata");

AuditService service = new AuditService("admin@example.com", "p@55w0rd", "example.com", "example.com-auditapp-v1");
GenericEntry entry = service.createMailMonitor("abhishek", monitor);

.NET

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

MailMonitor monitor = new MailMonitor();
monitor.BeginDate = new DateTime(2009, 6, 15);
monitor.EndDate = new DateTime(2009, 6, 30, 23, 20, 0);
monitor.IncomingEmailMonitorLevel = MonitorLevel.FULL_MESSAGE;
monitor.OutgoingEmailMonitorLevel = MonitorLevel.HEADER_ONLY;
monitor.DraftMonitorLevel = MonitorLevel.FULL_MESSAGE;
monitor.ChatMonitorLevel = MonitorLevel.FULL_MESSAGE;
monitor.DestinationUserName = "namrata";

AuditService service = new AuditService("example.com", "example.com-auditapp-v1");
service.setUserCredentials("admin@example.com", "p@55w0rd");
MailMonitor monitorEntry = service.CreateMailMonitor("abhishek", monitor);

Aktualizowanie monitora poczty e-mail

W przypadku aktualizowania monitora tego samego użytkownika źródłowego i użytkownika docelowego stare ustawienia usługi są zastępowane przez nowe ustawienia.

Aby zaktualizować konfigurację kontroli w monitorze poczty e-mail, wyślij żądanie POST do identyfikatora URI kanału monitorowania. Uwzględnij nagłówek Authorization w sposób opisany w artykule Uwierzytelnianie żądań:

POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/{domain name}/{source user name}

Przykład aktualizacji monitora poczty e-mail

W tym przykładzie aktualizujemy utworzony monitor, aktualizując wymaganą właściwość endDate i opcjonalną właściwość chatMonitorLevel. Użyjemy tych ustawień:

  • Nowa data zakończenia to August 30, 2009, 23:20 hours.
  • Parametr chatMonitorLevel ma teraz wartość HEADER_ONLY.
  • Konto użytkownika do kontroli pozostanie abhishek@example.com.
  • Element destUserName pozostanie namrata.

Protokół

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

<atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
    <apps:property name='destUserName' value='namrata'/>
    <apps:property name='endDate' value='2009-08-30 23:20'/>
    <apps:property name='chatMonitorLevel' value='HEADER_ONLY'/>
</atom:entry>

W przypadku powodzenia serwer zwraca kod stanu „UTWÓRZ 201” w dokumentacji kodów stanu HTTP interfejsu Google Data API. Razem z kodem stanu odpowiedź zawiera AtomPub ze zaktualizowanymi elementami entry. Właściwości, które nie zostały zaktualizowane i wyświetlane w odpowiedzi, przywracają wartości domyślne.

<entry>
<entry xmlns='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/monitor/example.com/abhishek/namrata</id>
    <updated>2009-08-20T00:28:57.319Z</updated>
    <link rel='self' type='application/atom+xml' href="https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/abhishek/namrata" />
    <link rel='edit' type='application/atom+xml' href="https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/abhishek/namrata" />
    <apps:property name='chatMonitorLevel' value='HEADER_ONLY' />
    <apps:property name='destUserName' value='namrata' />
    <apps:property name='endDate' value='2009-08-30 23:20' />
</entry>

Java

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

MailMonitor monitor = new MailMonitor();
Calendar endDate = Calendar.getInstance();
endDate.set(2009, Calendar.AUGUST, 30, 23, 20);
monitor.setEndDate(endDate.getTime());
monitor.setChatMonitorLevel("HEADER_ONLY");
monitor.setDestUserName("namrata");

AuditService service = new AuditService("admin@example.com", "p@55w0rd", "example.com", "example.com-auditapp-v1");
GenericEntry entry = service.createMailMonitor("abhishek", monitor);

.NET

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

MailMonitor monitor = new MailMonitor();
monitor.EndDate = new DateTime(2009, 8, 30, 23, 20, 0);
monitor.ChatMonitorLevel = MonitorLevel.HEADER_ONLY;
monitor.DestinationUserName = "namrata";

AuditService service = new AuditService("example.com", "example.com-auditapp-v1");
service.setUserCredentials("admin@example.com", "p@55w0rd");
MailMonitor monitorEntry = service.CreateMailMonitor("abhishek", monitor);

Pobieram wszystkie monitory poczty e-mail użytkownika źródłowego

Aby pobrać wszystkie monitory powiązane z użytkownikiem źródłowym, wyślij żądanie HTTP GET do identyfikatora URI kanału monitorowania i użyj formatu UTC dla daty. Uwzględnij nagłówek Authorization w sposób opisany w artykule Uwierzytelnianie żądań:

GET https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/{domain name}/{source user name}

Ta operacja nie zawiera parametrów w treści żądania. Treść XML jest pusta.

Przykład pobierania wszystkich monitorów poczty e-mail

Ten przykład pobiera wszystkie monitory utworzone dla użytkownika abhishek@example.com.

Protokół

GET https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/abhishek

W przypadku powodzenia serwer zwraca kod stanu 201 CREATED (Znaleziono 201) w dokumentacji danych o stanie HTTP interfejsu Google Data API. W tym przykładzie razem z kodem stanu odpowiedź zawiera kanał AtomPub z elementami entry na 2 monitorach, które pokazują ustawienia 2 użytkowników docelowych (namrata@example.com, joe@example.com).

<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/monitor/example.com/abhishek</id>
    <updated>2010-03-17T15:29:21.064Z</updated>
    <link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/abhishek'/>
    <link rel='http://schemas.google.com/g/2005#post' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/abhishek'/>
    <link rel='self' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/abhishek'/>
    <openSearch:startIndex>1</openSearch:startIndex>
    <entry>
        <id>https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/abhishek/namrata</id>
        <updated>2009-04-17T15:29:21.064Z</updated>
        <link rel='self' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/abhishek/namrata&'/>
        <link rel='edit' type='application/atom+xml' href='https://apps-apis.google.com/feeds/compliance/audit/mail/monitor/example.com/abhishek/namrata&'/>
        <apps:property name='requestId' value='53156'/>
        <apps:property name='destUserName' value='namrata'/>
        <apps:property name='beginDate' value='2009-06-15 00:00'/>
        <apps:property name='endDate' value='2009-06-30 23:20'/>
        <apps:property name='incomingEmailMonitorLevel' value='FULL_MESSAGE'/>
        <apps:property name='outgoingEmailMonitorLevel' value='FULL_MESSAGE'/>
        <apps:property name='draftMonitorLevel' value='FULL_MESSAGE'/>
        <apps:property name='chatMonitorLevel' value='FULL_MESSAGE'/>
   </entry>
   <entry>
        <id>>https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/abhishek/joe</id>
        <updated>2009-05-17T15:29:21.064Z</updated>
        <link rel='self' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/abhishek/joe'/>
        <link rel='edit' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/abhishek/joe'/>
        <apps:property name='requestId' value='22405'/>
        <apps:property name='destUserName' value='joe'/>
        <apps:property name='beginDate' value='2009-06-20 00:00'/>
        <apps:property name='endDate' value='2009-07-30 23:20'/>
        <apps:property name='incomingEmailMonitorLevel' value='FULL_MESSAGE'/>
        <apps:property name='outgoingEmailMonitorLevel' value='FULL_MESSAGE'/>
        <apps:property name='draftMonitorLevel' value='FULL_MESSAGE'/>
        <apps:property name='chatMonitorLevel' value='FULL_MESSAGE'/>
    </entry>
</feed>

Java

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

AuditService service = new AuditService("admin@example.com", "p@55w0rd", "example.com", "example.com-auditapp-v1");
GenericFeed feed = service.retrieveMonitors("abhishek");

.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<MailMonitor> monitors = service.RetrieveMailMonitors("abhishek");

Usuwanie monitora poczty e-mail

Aby usunąć monitor poczty e-mail, wyślij żądanie HTTP DELETE do kanału monitorowania i usuń identyfikator URI. Uwzględnij nagłówek Authorization w sposób opisany w artykule Uwierzytelnianie żądań.

DELETE https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/{domain name}/{source user name}/{destination user name}

Przykład usuwania monitora poczty e-mail

Ten przykładowy kod usuwa monitory utworzone dla użytkownika abhishek@example.com z identyfikatorem destinationUserName jako namrata.

Protokół

DELETE https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/abhishek/namrata

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.deleteMonitor("abhishek", "namrata");

.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.DeleteMailMonitor("abhishek", "namrata");

Dostęp do informacji o koncie

Zarządzanie pobieraniem skrzynek pocztowych

Pobieranie skrzynki pocztowej

Administratorzy mogą pobrać konta skrzynki pocztowe w swojej domenie na potrzeby kontroli. Aby przygotować skrzynkę pocztową do wyeksportowania, usługa kontroli poczty e-mail tworzy zaszyfrowaną kopię skrzynki pocztowej użytkownika. Po zakończeniu eksportowania system zwraca adresy URL do zaszyfrowanych plików skrzynki pocztowej, które po pobraniu i odszyfrowaniu są dostępne w formacie mbox. Kroki pobierania:

  • Prześlij klucz publiczny – administrator udostępnia publiczny klucz szyfrowania do pobierania skrzynek pocztowych. Ten klucz publiczny można utworzyć tylko raz. Jeśli masz już utworzony klucz publiczny umożliwiający dostęp do informacji o koncie, nie musisz wykonywać tego kroku. Ten publiczny klucz szyfrowania jest w formacie PGP (Pretty Good Privacy) z użyciem klucza szyfrowania RSA ASCII. Jednym ze sposobów generowania tego klucza jest korzystanie z GNU Privacy Guard (GPG) z www.gnupg.org. Jeśli używasz GPG, określ flagę --expert, by wygenerować klucz szyfrowania RSA. Eksportuj publiczną część klucza GPG za pomocą gpg --armor --export. Ten klucz jest używany do szyfrowania plików eksportu do skrzynki pocztowej dostępnych za pomocą adresów URL HTTP.
  • Utwórz wersję eksportu skrzynki pocztowej użytkownika – proces eksportowania do skrzynki pocztowej rozpoczyna się, gdy administrator poprosi o utworzenie kopii skrzynki pocztowej użytkownika. Operacja interfejsu API kontroli poczty e-mail uwierzytelnia i autoryzuje dane logowania administratora oraz zwraca unikalny identyfikator żądania. Proces tworzenia skrzynki pocztowej może być czasochłonny, a jej konfiguracja może zająć kilka dni – w zależności od rozmiaru skrzynki pocztowej.
  • Pobierz stan pobierania skrzynki pocztowej lub pobierz wszystkie informacje o stanie skrzynki pocztowej za pomocą daty – użyj identyfikatora prośby o wyeksportowanie skrzynki pocztowej, aby uzyskać stan oczekującego żądania. Po skopiowaniu skrzynki pocztowej i przygotowaniu jej do wyeksportowania odpowiedź zwróci stan COMPLETED i listę zaszyfrowanych plików skrzynki pocztowej jako adresów URL HTTP. Użyj tego zestawu adresów URL, aby pobrać pliki skrzynki pocztowej.
  • Uzyskiwanie pobranych plików skrzynek pocztowych – po pobraniu zaszyfrowanych plików administrator odszyfrowuje je, używając klucza prywatnego domeny. Po odszyfrowaniu pliki są wyświetlane w formacie mbox.

Tworzenie skrzynki pocztowej na potrzeby eksportu

Aby przygotować kopię skrzynki pocztowej użytkownika do eksportu i pobrania, użyj pliku danych eksportu interfejsu API kontroli poczty e-mail. Przed użyciem tej funkcji sprawdź, czy przesłano publiczny klucz szyfrowania dla domeny.

Wyślij żądanie POST do identyfikatora URI pliku eksportu. Uwzględnij nagłówek Authorization w sposób opisany w artykule Uwierzytelnianie żądań:

POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/{domain name}/{source user name}

Żądanie zawiera następujący nagłówek Content-type:

Content-type: application/atom+xml

W żądaniu można zaakceptować te właściwości:

Data rozpoczęcia
beginDate to data pierwszego e-maila zawartego w wyeksportowanej skrzynce pocztowej. Jest to element opcjonalny. Jeśli chcesz, by wszystkie e-maile zaczynały się od daty utworzenia konta, nie wpisuj wartości w tym polu.
  • Format daty to yyyy-MM-dd HH:mm, gdzie HH to godzina w zakresie 0–23, a mm to minuty godziny z zakresu 0–59. :
  • Strefa czasowa HH:mm ma format czasu UTC (uniwersalnego czasu koordynowanego). Przed utworzeniem nowego monitora przekonwertuj czas na format UTC.
Data zakończenia
endDate to data ostatniego e-maila uwzględnionego w wyeksportowanej skrzynce pocztowej. Jest to element opcjonalny. Jeśli endDate nie został podany lub pusty ciąg znaków, wyeksportowane e-maile są kierowane do bieżącej daty.
  • Zgodnie ze składnią parametru beginDate format endDate to yyyy-MM-dd HH:mm, gdzie HH to godzina w zakresie 0–23, a mm to minuty godziny z zakresu 0–59. :
  • Strefa czasowa HH:mm ma format czasu UTC (uniwersalnego czasu koordynowanego). Przed utworzeniem nowego monitora przekonwertuj czas na format UTC. :
  • Pamiętaj, że wartość endDate musi być większa niż wartość właściwości beginDate.
Zapytanie
Skrzynka pocztowa jest filtrowana za pomocą tej wartości searchQuery i będzie można pobrać tylko filtrowane wyniki wyszukiwania. Jest to element opcjonalny. Zapytania są objęte tymi samymi regułami wyszukiwania co zaawansowane wyszukiwanie w Gmailu.
Uwaga: parametry searchQuery i includeDeleted wzajemnie się wykluczają. Zapytanie nie jest możliwe, jeśli includeDeleted = "true".
uwzględnij usunięte
Parametr includeDeleted określa, czy usunięte wiadomości znajdują się w pliku eksportu skrzynki pocztowej. Jest to element opcjonalny, a wartość domyślna to 'false'. Nie są tu usuwane usunięte wiadomości.
packageContent (pakiet)
packageContent określa, czy w pliku eksportu skrzynki pocztowej jest używany pełny adres e-mail czy nagłówek e-maila.
  • FULL_MESSAGE – do pliku eksportu zostanie skopiowany pełny tekst e-maila z załącznikami. Jest to ustawienie domyślne elementu packageContent. :
  • Header_ONLY – do pliku eksportu zostanie skopiowany tylko nagłówek adresu e-mail. Uwaga: maksymalna dzienna liczba żądań utworzenia eksportu skrzynki pocztowej to 100 żądań od wszystkich administratorów domeny. Proces tworzenia skrzynki pocztowej może być czasochłonny, a jej konfiguracja może zająć kilka dni – w zależności od rozmiaru skrzynki pocztowej. Aby sprawdzić stan procesu tworzenia skrzynki pocztowej, użyj operacji Pobieranie stanu eksportu skrzynki pocztowej, w tym wartości requestId.

Przykład tworzenia skrzynki pocztowej na potrzeby eksportu

W tym przykładzie użyjemy tych ustawień:

  • Użytkownik, dla którego chcesz wyeksportować skrzynkę pocztową, to liz@example.com.
  • Data rozpoczęcia to July 1, 2009, 04:30 hours.
  • Data zakończenia to August 30, 2009, 20:00 hours.
  • Uwzględniono usunięcie: false.
  • Zapytanie to in:chat.
  • Wybrany pakiet to FULL_MESSAGEContent.

Protokół

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

<atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
   <apps:property name='beginDate' value='2009-07-01 04:30'/>
   <apps:property name='endDate' value='2009-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>

W przypadku powodzenia serwer zwraca kod stanu „UTWÓRZ 201” w dokumentacji kodów stanu HTTP interfejsu Google Data API. Razem z kodem stanu odpowiedź zawiera 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/liz/53156>/id>
    <updated>2009-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/liz/53156'/>
    <link rel='edit' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/example.com/liz/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='2009-09-18 10:13'/>
    <apps:property name='adminEmailAddress' value='admin1@example.com'/>
    <apps:property name='requestId' value='53156'/>
    <apps:property name='userEmailAddress' value='liz@example.com'/>
    <apps:property name='endDate' value='2009-08-30 20:00'/>
    <apps:property name='requestDate' value='2009-09-17 12:51'/>
    <apps:property name='beginDate' value='2009-07-01 04:30'/>
</entry>

W tym przykładzie przetwarzanie tej skrzynki pocztowej zostało zakończone. Właściwość status ma wartość COMPLETED, a numberOfFiles zwrócony dla 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("liz@example.com");

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

Calendar endDate = Calendar.getInstance();
endDate.set(2009, 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(2009, 7, 1, 4, 30, 0);
mailboxDumpRequest.EndDate = new DateTime(2009, 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("liz", mailboxDumpRequest);

Pobieranie stanu eksportu skrzynki pocztowej

Aby pobrać szczegółowe informacje o stanie skrzynki pocztowej przygotowanej do wyeksportowania, wyślij żądanie HTTP GET z identyfikatorem request. skrzynki pocztowej do identyfikatora URI pliku danych eksportu. Uwzględnij nagłówek Authorization w sposób opisany w artykule Uwierzytelnianie żądań:

GET https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/{domain name}/{source user name}/{mailbox requestId}

To żądanie zwraca pozycję AtomPub, w tym bieżący stan skrzynki pocztowej. Obecny stan:

OCZEKUJĄCE
Przetwarzamy żądanie.
BŁĄD
Żądanie nie zostało zrealizowane z powodu błędu. Przykładem może być błąd przesyłania nieprawidłowego klucza publicznego PGP dla domeny.
UKOŃCZONO
Żądanie zostało w pełni przetworzone i zaszyfrowane pliki skrzynek pocztowych są gotowe do pobrania.
MARKED_DELETE
Żądanie jest oznaczone do usunięcia przy następnym uruchomieniu zadania czyszczenia. Zobacz Usuwanie zaszyfrowanej skrzynki pocztowej.
USUNIĘTY
Administrator usunął pliki skrzynki pocztowej przy użyciu funkcji Usuwanie zaszyfrowanej skrzynki pocztowej.
Utracił ważność
Google usunie pliki skrzynki pocztowej po 3 tygodniach przechowywania.

Przykład pobierania stanu eksportu skrzynki pocztowej

Ten przykład pobiera stan skrzynki pocztowej odpowiadający identyfikatorom żądania 53156 i 34201 użytkownikowi liz@example.com.

Protokół

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

<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/liz/53156</id> <updated>2009-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/liz/53156'/> <link rel='edit' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/example.com/liz/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='2009-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='liz@example.com'/> <apps:property name='endDate' value='2009-08-30 20:00'/> <apps:property name='requestDate' value='2009-09-17 12:51'/> <apps:property name='beginDate' value='2009-07-01 04:30'/> </entry>


W przypadku powodzenia serwer zwraca kod stanu 201 CREATED znajdujący się w dokumentacji kodów stanu HTTP interfejsu Google Data API.

Jak widać w odpowiedzi na przykład powyżej, stan to ERROR, dlatego nigdy nie udało się utworzyć zaszyfrowanych plików skrzynki pocztowej.

Spróbujemy ponownie dla requestId 34201:

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

<entry>... ... <apps:property name='status' value='COMPLETED'/> <apps:property name='packageContent' value='FULL_MESSAGE'/> <apps:property name='completedDate' value='2009-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='2009-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>


Drugi przykład udało się uzyskać stan COMPLETED. Zwraca 2 adresy URL plików skrzynki pocztowej z zaszyfrowanymi plikami skrzynek pocztowych. Zaszyfrowane pliki skrzynek pocztowych, które można pobrać przy użyciu adresów URL z elementów fileUrl.

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("liz", "53156"); String status = mailboxDumpEntry1.getProperty("status"); // Status is "ERROR" if the mailbox for this request isn't created

GenericEntry mailboxDumpEntry2 = service.retrieveMailboxDumpRequest("liz", "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("liz", "53156"); RequestStatus status1 = mailboxDumpEntry1.Status; // Status is "ERROR" if the mailbox for this request isn't created

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

Pobieranie wszystkich żądań stanu skrzynki pocztowej

Aby pobrać wszystkie żądania skrzynki pocztowej domeny z określonego dnia rozpoczynającego się w formacie UTC, wyślij żądanie HTTP GET do identyfikatora URI kanału eksportu. Uwzględnij nagłówek Authorization w sposób opisany w artykule Uwierzytelnianie żądań:

GET https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/{domain name}?fromDate={fromDate}

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

W tym przykładzie pobierzemy wszystkie żądania stanu skrzynki pocztowej dla domeny example.com wysłanej 9 PM, August 30, 2009 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=2009-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=2009-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>2009-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='2009-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='2009-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='liz@example.com'/>
        <apps:property name='endDate' value='2009-08-30 20:00'/>
        <apps:property name='requestDate' value='2009-09-17 12:51'/>
        <apps:property name='beginDate' value='2009-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(2009, 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(2009, 8, 30, 21, 0, 0);

Usuwanie zaszyfrowanej skrzynki pocztowej

Aby usunąć zaszyfrowane pliki skrzynki pocztowej, wyślij żądanie HTTP DELETE do identyfikatora URI pliku danych eksportu, w tym wartość requestId skrzynki pocztowej. Dołącz też nagłówek Authorization zgodnie z opisem w sekcji Uwierzytelnianie żądań.

DELETE https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/{domain name}/{source user name}/{mailbox requestId}

Przykład usuwania zaszyfrowanej skrzynki pocztowej

W tym przykładzie usuniemy skrzynkę pocztową użytkownika liz@example.com odpowiadającą adresowi requestId 34201.

Protokół

DELETE https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/example.com/liz/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("liz", "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("liz", "34201");