편지함 다운로드

관리자는 감사 목적으로 도메인 내에서 편지함 계정을 다운로드할 수 있습니다. 내보낼 편지함을 준비하기 위해 Email Audit API는 사용자 편지함의 암호화된 사본을 만듭니다. 시스템은 다운로드 및 복호화 시 mbox 형식으로 제공되는 암호화된 편지함 파일의 URL을 반환합니다.

일일 최대 편지함 내보내기 생성 요청은 모든 도메인 관리자의 총 100회 요청입니다. 편지함을 만드는 데 시간이 오래 걸릴 수 있으며 편지함 크기에 따라 며칠이 걸릴 수 있습니다.

Google은 암호화된 편지함 파일을 3주 동안 보관하므로 이 기간 내에 편지함 파일을 다운로드해야 합니다. 그 이후에는 삭제됩니다. 기간이 만료되기 전에 편지함 파일을 삭제하려면 암호화된 편지함 삭제를 참조하세요.

편지함을 다운로드하려면 다음 단계를 따르세요.

  • 공개 키 생성 및 업로드 — 편지함을 다운로드하기 위한 공개 암호화 키를 만듭니다. 이 단계는 한 번만 실행하면 됩니다. 이미 공개 키를 만든 경우 편지함을 내보낼 때마다 이 단계를 완료하지 않아도 됩니다.
  • 사용자 편지함의 내보내기 버전 만들기 — 사용자의 편지함 사본 생성을 요청하면 편지함 내보내기 프로세스가 시작됩니다. Email Audit API는 사용자 인증 정보를 인증 및 승인하고 고유한 요청 ID를 반환합니다. 편지함 생성 프로세스에는 시간이 오래 걸릴 수 있으며 편지함 크기에 따라 며칠이 걸릴 수 있습니다.
  • 편지함 다운로드 상태 검색 — 편지함 내보내기 요청 ID를 사용하여 대기 중인 요청의 상태를 가져옵니다. 편지함을 복사하고 내보낼 준비가 되면 응답에서 COMPLETED 상태 및 암호화된 편지함 파일 목록을 HTTP URL로 반환합니다. 이 URL 집합을 사용하여 편지함 파일을 다운로드합니다.
  • 다운로드한 편지함 파일 가져오기 — 암호화된 파일을 다운로드한 후 도메인의 비공개 키를 사용하여 편지함 파일을 복호화합니다. 복호화된 파일은 mbox 형식으로 표시됩니다.

공개 키 생성

편지함을 다운로드하려면 먼저 도메인의 OpenPGP 공개 암호화 키를 업로드해야 합니다. 이 단계는 편지함 다운로드를 설정할 때 한 번 수행됩니다. GNU Privacy Guard (GPG)와 같은 OpenPGP 호환 소프트웨어를 사용하여 공개 키/비공개 키 쌍을 생성할 수 있습니다. 이 공개 암호화 키는 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(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. Google Workspace 도메인의 publickey 피드 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의 내보내기 피드를 사용하세요.

다음과 같이 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입니다.
  • 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);

편지함의 내보내기 상태 가져오기

편지함 내보내기 준비는 비동기 프로세스이므로 이 검색 요청을 사용하여 암호화된 편지함 처리가 완료되었는지 확인합니다.

내보내기 준비가 완료된 편지함의 상태 세부정보를 검색하려면 편지함의 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_REQUESTID: requestID는 내보내기를 처음 요청할 때 반환되는 편지함 내보내기 요청의 고유 식별자입니다.

이 요청은 편지함 내보내기의 현재 상태를 포함한 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 상태로 성공합니다. 암호화된 편지함 파일이 포함된 2개의 편지함 파일 URL을 반환하며 이 파일은 fileUrl 요소의 URL을 사용하여 다운로드할 수 있습니다.


<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: 암호화된 편지함 요청의 URL 인코딩 날짜입니다(UTC(협정 세계시) 형식). 이 GET 요청에 fromDate이 지정되지 않으면 지난 3주 동안의 모든 요청이 검색됩니다.

대규모 응답의 경우 각 결과 페이지가 최대 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);

암호화된 편지함 삭제하기

상태가 COMPLETED 또는 MARKED_DELETED인 암호화된 편지함 파일을 삭제하려면 편지함의 requestIdAuthorization 헤더를 포함하여 내보내기 피드의 URI에 HTTP DELETE 요청을 전송합니다.

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_REQUESTID: requestID는 내보내기를 처음 요청할 때 반환되는 편지함 내보내기 요청의 고유 식별자입니다.

삭제 프로세스 중에 오류가 발생하면 MARKED_DELETE 상태가 반환됩니다. 이 요청은 24시간 이내에 Google 정리 작업에 의해 자동으로 삭제됩니다. 그러나 상태가 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");