下载邮箱

作为管理员,您可以下载网域内的邮箱账号,以便进行审核。为了准备好要导出的邮箱,Email Audit API 会创建用户邮箱的加密副本。系统会返回已加密邮箱文件的网址,这些文件在下载并解密后会以 mbox 格式提供。

所有网域管理员每天最多可以创建 100 个邮箱导出请求。邮箱创建过程可能需要一些时间,具体取决于邮箱大小,可能需要几天才能完成。

Google 会将加密的邮箱文件保留 3 周,因此请务必在此时间段内下载这些邮箱文件。之后,这些数据会被删除。如需在相应期限结束前删除这些邮箱文件,请参阅删除加密邮箱

如需下载邮箱,请执行以下操作:

  • 生成并上传公钥 - 创建用于下载邮箱的公钥。此步骤只需执行一次。如果您已创建公钥,则无需为每次邮箱导出都完成此步骤。
  • 创建用户邮箱的导出版本 - 当您请求创建用户邮箱的副本时,邮箱导出流程便会开始。Email Audit API 会对您的凭据进行身份验证和授权,并返回唯一的请求 ID。创建邮箱的过程可能需要一些时间,具体取决于邮箱大小,可能需要几天的时间。
  • 检索邮箱下载状态 - 使用邮箱导出请求 ID 获取待处理请求的状态。复制邮箱并准备好进行导出后,响应会返回状态 COMPLETED 以及加密的邮箱文件列表(以 HTTP 网址的形式)。使用这组网址下载邮箱文件。
  • 获取下载的邮箱文件 - 下载加密文件后,使用网域的私钥解密邮箱文件。解密后,文件会以 mbox 格式显示。

生成公钥

您需要先上传域名的 OpenPGP 公钥加密密钥,然后才能下载邮箱。在设置邮箱下载时,只需执行此步骤一次。您可以使用任何与 OpenPGP 兼容的软件(例如 GNU 隐私保护 (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. 向 Google Workspace 网域中的 publickey Feed URI 发送 HTTP POST 请求:

    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 的导出 Feed。

向导出 Feed 的 URI 发送 POST 请求,并添加 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
  • beginDate为“July 1, 2022, 04:30 hours”。
  • endDate为“August 30, 2022, 20:00 hours”。
  • includeDeletedfalse
  • searchQueryin:chat
  • packageContent为“FULL_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);

检索邮箱的导出状态

由于邮箱导出准备是一个异步过程,因此请使用此检索请求查看加密邮箱处理是否已完成。

如需检索准备好导出的邮箱的状态详情,请向导出 Feed 的 URI 发送包含邮箱 requestId 的 HTTP GET 请求,并添加 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 是邮箱导出请求的唯一标识符,系统会在首次请求导出时返回此标识符。

此请求会返回一个 AtomPub 条目,其中包含邮箱导出的当前状态。当前状态的可能值如下:

PENDING
请求正在处理中。
ERROR
由于出现错误,请求失败。可能出现的错误示例包括为网域上传了错误的 API 公钥。
COMPLETED
请求已处理完毕,加密的邮箱文件已可下载。
MARKED_DELETE
系统会在下次运行 Google 清理作业时将请求标记为删除。如需详细了解此清理作业,请参阅删除加密邮箱
DELETED
使用删除加密邮箱操作成功删除了邮箱文件。
EXPIRED
邮箱文件在 3 周的保留期限结束后被 Google 删除。

检索邮箱导出状态的示例

以下示例会检索与用户 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;

检索所有邮箱状态请求

如需检索特定日期开始的网域的所有邮箱请求,请向导出 Feed 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 的加密邮箱文件,请向导出 Feed 的 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 是邮箱导出请求的唯一标识符,在首次请求导出时返回。

如果在删除过程中遇到任何错误,系统会返回 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");