下載信箱

管理員可以下載網域中的信箱帳戶,以便用於稽核。為準備信箱匯出,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 偏好的字元集名稱) 讀取。

範例

以下範例說明如何將公開金鑰轉換為採用 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,系統會在最初要求匯出時傳回這個 ID。

這項要求會傳回 AtomPub 項目,包括信箱匯出的目前狀態。目前狀態可能的值如下:

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

範例:擷取信箱的匯出狀態

這個範例會針對使用者 quinn@example.com,擷取與 requestIds 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。開發用戶端應用程式時,您的程式碼需要管理這些額外的結果。

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

以下範例會擷取 example.com9 PM, August 30, 2022 當天或之後提出的所有網域信箱狀態要求:

通訊協定

<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,系統會在最初要求匯出時傳回這個 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");