下載信箱

管理員可以下載網域內的郵箱帳戶,以利稽核。為準備要匯出的信箱,Email Audit API 會為使用者的信箱建立加密副本。系統會傳回已加密的郵箱檔案網址,這些檔案在下載及解密後,會以 mbox 格式提供。

所有網域管理員每天最多可提出 100 次信箱匯出建立要求。信箱建立程序可能需要花費大量時間,實際所需時間取決於信箱大小,可能需要數天才能完成。

Google 會保留加密的郵箱檔案 3 週,因此請務必在這個時間範圍內下載這些郵箱檔案。超過期限後,系統就會刪除這些資料。如要在期限到期前刪除這些信箱檔案,請參閱刪除已加密的信箱

如要下載郵箱,請按照下列步驟操作:

  • 產生及上傳公開金鑰:建立用於下載信箱的公開加密金鑰。這項操作只需執行一次。如果您已建立公開金鑰,則不必為每個郵箱匯出作業完成這個步驟。
  • 建立使用者信箱的匯出版本:當您要求建立使用者信箱的副本時,信箱匯出程序就會開始。Email Audit API 會驗證及授權您的憑證,並傳回專屬的要求 ID。信箱建立程序可能需要花費大量時間,視信箱大小而定,可能需要幾天才能完成。
  • 擷取信箱下載狀態:使用信箱匯出要求 ID 取得待處理要求的狀態。複製郵箱並準備匯出後,回應會傳回 COMPLETED 狀態,以及以 HTTP 網址形式列出加密的郵箱檔案。請使用這組網址下載郵箱檔案。
  • 取得下載的郵箱檔案:下載加密檔案後,請使用網域的私密金鑰解密郵箱檔案。解密後,檔案會以 mbox 格式顯示。

產生公開金鑰

您必須先上傳網域的 OpenPGP 公開加密金鑰,才能下載信箱。設定信箱下載時,這個步驟只需執行一次。您可以使用任何與 OpenPGP 相容的軟體 (例如 GNU Privacy Guard (GPG)) 產生公開/私密金鑰組。此公開加密金鑰應為 PGP 格式的 ASCII 編碼 RSA 金鑰。

如要使用 GNU Privacy Guard 產生金鑰,請按照下列步驟操作:

  1. 安裝 GnuPG 1.4

  2. 產生新的金鑰:

    gpg --gen-key --expert
    
  3. 如要設定自己的功能,請選取 8 選項,然後切換標誌功能。

  4. 如要完成金鑰產生程序,請接受所有預設選項。這個金鑰應已啟用加密動作。您可以關閉簽名動作,因為系統不會使用這項動作。

  5. 請只匯出與 Google Workspace 相對應的使用者 ID 的金鑰:

    • 如果您是第一次使用 GPG 產生金鑰,請匯出剛剛產生的單一金鑰:

      gpg --armor --export
      
    • 如果您已使用 GPG 產生其他金鑰,則金鑰圈中會有多個金鑰。取得索引鍵清單:

      gpg --list-keys
      

      如果清單中列出多個金鑰,請指定要匯出的金鑰的 uid

      gpg --armor --export KEY_UID
      
  6. 使用 Motobit 或其他工具,以 Base64 編碼方式為金鑰編碼。請務必複製所有行,包括標頭,且不要新增任何多餘的資料行。公開金鑰檔案應使用 US-ASCII 字元集 (IANA 偏好的 ASCII 字元集名稱) 進行讀取。

範例

以下範例說明如何將公開金鑰轉換為 Base64 編碼字串。

以下範例為轉換前的公開金鑰:

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

以下是轉換後的公開金鑰:

LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tDQpWZXJzaW9uOiBHbn
VQRyB2MS40LjEwIChHTlUvTGludXgpDQoNCm1RRU5CRXJXYUQ0QkNBQ3QybmdmczYv

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

上傳公開金鑰

  1. 如要上傳公開金鑰,請使用 Base64 編碼的公開金鑰建立 XML 項目:

    <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. 將 HTTP POST 要求傳送至 Google Workspace 網域中的 publickey 動態饋給 URI:

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

    如果成功,伺服器會傳回 201 CREATED status code 和類似下方的回應:

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

建立要匯出的信箱副本

如要準備使用者信箱的副本,以便匯出及下載,請使用 Email Audit API 的匯出動態饋給。

POST 要求傳送至匯出動態饋給的 URI,並加入 Authorization 標頭:

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

更改下列內容:

  • DOMAIN_NAME:Google Workspace 網域名稱,例如 example.com。
  • SOURCE_USERNAME:您要下載的信箱使用者名稱。

要求包含下列 Content-type 標頭:

Content-type: application/atom+xml

如需信箱匯出要求中使用的完整參數清單,請參閱資源:export

建立匯出信箱的範例

本範例使用下列參數:

  • 匯出信箱的使用者為 quinn@example.com
  • beginDateJuly 1, 2022, 04:30 hours
  • endDateAugust 30, 2022, 20:00 hours
  • includeDeletedfalse
  • searchQueryin:chat
  • packageContentFULL_MESSAGE

通訊協定

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>

如果成功,伺服器會傳回 201 CREATED 狀態碼和 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>

在這個範例中,這個信箱的處理作業已完成。status 屬性為 COMPLETED,而匯出作業傳回的 numberOfFiles 為 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);

擷取信箱的匯出狀態

由於郵箱匯出作業的準備程序是非同步處理程序,請使用這項擷取要求,查看加密郵箱處理作業是否已完成。

如要擷取已準備匯出的信箱狀態詳細資料,請將信箱的 requestId 與 HTTP GET 要求一併傳送至匯出動態饋給的 URI,並附上 Authorization 標頭:

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

更改下列內容:

  • DOMAIN_NAME:Google Workspace 網域名稱,例如 example.com。
  • SOURCE_USERNAME:您要下載的信箱使用者名稱。
  • MAILBOX_REQUESTIDrequestID 是郵件資料夾匯出要求的專屬 ID,會在匯出作業首次要求時傳回。

這項要求會傳回 AtomPub 項目,其中包含郵件資料夾匯出作業目前的狀態。目前狀態的可能值如下:

PENDING
我們正在處理您的要求。
ERROR
發生錯誤,因此要求失敗。舉例來說,如果為網域上傳錯誤的 API 公開金鑰,就會發生錯誤。
COMPLETED
要求已完全處理,加密的信箱檔案可供下載。
MARKED_DELETE
系統會在下次執行 Google 清理工作時,將要求標示為待刪除。如要進一步瞭解這項清理工作,請參閱「刪除已加密的郵箱」。
DELETED
使用刪除已加密的郵箱作業,已成功刪除郵箱檔案。
EXPIRED
Google 在保留期限 3 週後刪除了信箱檔案。

擷取信箱匯出狀態的範例

這個範例會擷取使用者 quinn@example.comrequestIds 5315634201 對應的信箱狀態。

通訊協定

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

如果成功,伺服器會傳回 201 CREATED 狀態碼。

如您在下列回應中看到的,狀態為 ERROR,因此系統並未建立加密的郵件匣檔案。

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

本例會擷取與 requestId 34201 相對應的郵箱狀態:

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

這個第二個範例成功傳回 COMPLETED 狀態。它會傳回兩個含有已加密信箱檔案的郵箱檔案網址,您可以使用 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;

擷取所有信箱狀態要求

如要擷取網域自特定日期起的所有信箱要求,請對匯出動態饋給 URI 提出 HTTP GET 要求,並納入 Authorization 標頭:

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

更改下列內容:

  • DOMAIN_NAME:Google Workspace 網域名稱,例如 example.com。
  • FROM_DATE:以世界標準時間 (UTC) 格式,以網址編碼方式表示加密郵箱要求的日期。如果此 GET 要求未指定 fromDate,系統會擷取過去三週內的所有要求。

對於大型回應,每個結果頁面最多會傳回 100 個項目,並在 <link rel='next'...> 標記中加入 URI,指向下一頁的結果。開發用戶端應用程式時,程式碼需要管理這些額外結果。

擷取所有信箱狀態要求的範例

以下範例會擷取 9 PM, August 30, 2022 當天或之後,針對網域 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/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);

刪除加密信箱

如要刪除狀態為 COMPLETEDMARKED_DELETED 的加密郵箱檔案,請向匯出動態饋給的 URI 發出 HTTP DELETE 要求,其中包含郵箱的 requestIdAuthorization 標頭。

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

更改下列內容:

  • DOMAIN_NAME:Google Workspace 網域名稱,例如 example.com。
  • SOURCE_USERNAME:您下載的郵箱使用者名稱。
  • MAILBOX_REQUESTIDrequestID 是郵件資料夾匯出要求的專屬 ID,會在匯出作業首次要求時傳回。

如果在刪除程序中遇到任何錯誤,系統會傳回 MARKED_DELETE 狀態的狀態。Google 清理工作會在 24 小時內自動刪除這項要求。不過,對於狀態為 MARKED_DELETE 的要求,部分 (或全部) 信箱檔案仍可供下載。如要確認檔案已刪除,請再次執行這項作業,直到傳回 DELETED 狀態為止。如果一律傳回 MARKED_DELETE 的狀態,請在指數時間輪詢後重試。

刪除加密信箱的範例

這個範例會刪除與 34201requestId 相關聯的使用者 quinn@example.com 信箱:

通訊協定

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