ดาวน์โหลดกล่องจดหมาย

ในฐานะผู้ดูแลระบบ คุณสามารถดาวน์โหลดบัญชีกล่องจดหมายภายในโดเมนเพื่อวัตถุประสงค์ในการตรวจสอบ Email Audit API จะสร้างสำเนาที่เข้ารหัสของกล่องจดหมายของผู้ใช้เพื่อเตรียมกล่องจดหมายสำหรับการส่งออก ระบบจะแสดง URL ของไฟล์กล่องจดหมายที่เข้ารหัส ซึ่งเมื่อดาวน์โหลดและถอดรหัสแล้ว จะอยู่ในรูปแบบ mbox

คำขอสร้างการส่งออกกล่องจดหมายสูงสุดต่อวันคือคำขอทั้งหมด 100 รายการจากผู้ดูแลระบบโดเมนทุกคน กระบวนการสร้างกล่องจดหมายอาจใช้เวลานานและอาจใช้เวลาหลายวัน ทั้งนี้ขึ้นอยู่กับขนาดของกล่องจดหมาย

Google จะเก็บไฟล์กล่องจดหมายที่เข้ารหัสไว้เป็นเวลา 3 สัปดาห์ ดังนั้นโปรดดาวน์โหลดไฟล์กล่องจดหมายเหล่านี้ภายในระยะเวลาดังกล่าว หลังจากนั้นระบบจะลบไฟล์ หากต้องการลบไฟล์กล่องจดหมายเหล่านี้ก่อนหมดระยะเวลา โปรดดูหัวข้อลบกล่องจดหมายที่เข้ารหัส

หากต้องการดาวน์โหลดกล่องจดหมาย ให้ทำดังนี้

  • สร้างและอัปโหลดคีย์สาธารณะ - สร้างคีย์การเข้ารหัสสาธารณะสำหรับการดาวน์โหลดกล่องจดหมาย ขั้นตอนนี้จะทำเพียงครั้งเดียว หากคุณสร้างคีย์สาธารณะไว้แล้ว ก็ไม่จำเป็นต้องทำขั้นตอนนี้สำหรับการส่งออกกล่องจดหมายทุกครั้ง
  • สร้างกล่องจดหมายเวอร์ชันส่งออกของผู้ใช้ - กระบวนการส่งออกกล่องจดหมายจะเริ่มขึ้นเมื่อคุณขอสร้างสำเนาของ กล่องจดหมายของผู้ใช้ Email Audit API จะตรวจสอบสิทธิ์และให้สิทธิ์ข้อมูลเข้าสู่ระบบของคุณ แล้วแสดงรหัสคำขอที่ไม่ซ้ำกัน กระบวนการสร้างกล่องจดหมายอาจใช้เวลานานและอาจใช้เวลาหลายวัน ทั้งนี้ขึ้นอยู่กับขนาดของกล่องจดหมาย
  • ดึงข้อมูลสถานะการดาวน์โหลดกล่องจดหมาย — ใช้รหัสคำขอส่งออกกล่องจดหมายเพื่อดูสถานะของคำขอที่รอดำเนินการ หลังจากคัดลอกและเตรียมกล่องจดหมายสำหรับการส่งออกแล้ว การตอบกลับจะแสดงสถานะ COMPLETED พร้อมกับรายการไฟล์กล่องจดหมายที่เข้ารหัสเป็น URL HTTP ใช้ URL ชุดนี้เพื่อดาวน์โหลดไฟล์กล่องจดหมาย
  • รับไฟล์กล่องจดหมายที่ดาวน์โหลด - หลังจากดาวน์โหลดไฟล์ที่เข้ารหัสแล้ว ให้ถอดรหัสไฟล์กล่องจดหมายโดยใช้คีย์ส่วนตัวของโดเมน เมื่อถอดรหัสแล้ว คุณจะดูไฟล์ในรูปแบบ mbox ได้

สร้างคีย์สาธารณะ

ก่อนที่จะดาวน์โหลดกล่องจดหมายได้ คุณต้องอัปโหลดคีย์การเข้ารหัสสาธารณะ OpenPGP สำหรับโดเมน ขั้นตอนนี้จะทำเพียงครั้งเดียวเมื่อตั้งค่าการดาวน์โหลด กล่องจดหมาย คุณสามารถ สร้างคู่คีย์สาธารณะ/ส่วนตัวได้โดยใช้ซอฟต์แวร์ที่เข้ากันได้กับ OpenPGP เช่น GNU Privacy Guard (GPG) คีย์การเข้ารหัสสาธารณะนี้ควรเป็นคีย์ RSA ที่เข้ารหัส ASCII ในรูปแบบ PGP

หากต้องการสร้างคีย์ด้วย GNU Privacy Guard ให้ทำตามขั้นตอนต่อไปนี้

  1. ติดตั้ง GnuPG 1.4

  2. สร้างคีย์ใหม่โดยทำดังนี้

    gpg --gen-key --expert
    
  3. หากต้องการตั้งค่าความสามารถของคุณเอง ให้เลือกตัวเลือก 8 แล้วสลับความสามารถในการลงชื่อ

  4. ยอมรับตัวเลือกเริ่มต้นทั้งหมดเพื่อดำเนินการสร้างคีย์ให้เสร็จสมบูรณ์ คีย์นี้ควรเปิดใช้การดำเนินการเข้ารหัส คุณสามารถปิดการดำเนินการลงชื่อได้เนื่องจากไม่ได้ใช้

  5. ส่งออกเฉพาะคีย์สำหรับรหัสผู้ใช้ที่ตรงกับ Google Workspace ของคุณ

    • หากนี่เป็นครั้งแรกที่คุณใช้ GPG เพื่อสร้างคีย์ ให้ส่งออกคีย์เดียวที่คุณเพิ่งสร้าง

      gpg --armor --export
      
    • หากคุณเคยใช้ GPG เพื่อสร้างคีย์อื่นๆ มาแล้ว คุณจะมีคีย์หลายรายการในพวงกุญแจ ดูรายการคีย์โดยทำดังนี้

      gpg --list-keys
      

      หากมีคีย์หลายรายการ ให้ระบุ uid ของคีย์ที่ต้องการส่งออกโดยทำดังนี้

      gpg --armor --export KEY_UID
      
  6. เข้ารหัสคีย์ด้วยการเข้ารหัส Base64 โดยใช้ Motobit หรือเครื่องมืออื่นๆ ตรวจสอบว่าได้คัดลอกทุกบรรทัด รวมถึงส่วนหัว และอย่าเพิ่มบรรทัดพิเศษ ไฟล์คีย์สาธารณะควรอ่านด้วยชุดอักขระ 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. หากต้องการอัปโหลดคีย์สาธารณะ ให้สร้างรายการ XML ที่มีคีย์สาธารณะที่เข้ารหัส Base64 โดยทำดังนี้

    <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 ไปยัง URI ฟีด publickey ในโดเมน Google Workspace โดยทำดังนี้

    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

ดูรายการพารามิเตอร์ทั้งหมดที่จะใช้ในคำขอส่งออกกล่องจดหมายได้ที่ หัวข้อ Resources: export

ตัวอย่างการสร้างกล่องจดหมายเพื่อส่งออก

ตัวอย่างนี้ใช้พารามิเตอร์ต่อไปนี้

  • ผู้ใช้ที่จะส่งออกกล่องจดหมายคือ quinn@example.com
  • beginDate คือ July 1, 2022, 04:30 hours
  • endDate คือ August 30, 2022, 20:00 hours
  • includeDeleted คือ false
  • searchQuery คือ in: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);

ดึงข้อมูลสถานะการส่งออกของกล่องจดหมาย

เนื่องจากการเตรียมการส่งออกกล่องจดหมายเป็นกระบวนการแบบไม่พร้อมกัน ให้ใช้คำขอการดึงข้อมูลนี้เพื่อดูว่าการประมวลผลกล่องจดหมายที่เข้ารหัสเสร็จสมบูรณ์แล้วหรือไม่

หากต้องการดึงข้อมูลรายละเอียดสถานะของกล่องจดหมายที่เตรียมไว้สำหรับการส่งออก ให้ส่งคำขอ HTTP GET ที่มี requestId ของกล่องจดหมายไปยัง 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
Google ลบไฟล์กล่องจดหมายหลังจากพ้นขีดจำกัดการเก็บรักษา 3 สัปดาห์

ตัวอย่างการดึงข้อมูลสถานะการส่งออกของกล่องจดหมาย

ตัวอย่างนี้จะดึงข้อมูลสถานะกล่องจดหมายที่ตรงกับ requestIds 53156 และ 34201 สำหรับผู้ใช้ quinn@example.com

โปรโตคอล

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

ตัวอย่างที่ 2 นี้สำเร็จโดยมีสถานะ COMPLETED โดยจะแสดงผล URL ไฟล์กล่องจดหมาย 2 รายการที่มีไฟล์กล่องจดหมายที่เข้ารหัส ซึ่ง สามารถดาวน์โหลดได้โดยใช้ URL ในองค์ประกอบ 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;

ดึงข้อมูลคำขอสถานะกล่องจดหมายทั้งหมด

หากต้องการดึงข้อมูลคำขอกล่องจดหมายทั้งหมดสำหรับโดเมนที่เริ่มต้นในวันที่ที่ระบุ ให้ส่งคำขอ HTTP GET ไปยัง URI ของฟีดการส่งออกและใส่ส่วนหัว 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 ในรูปแบบ Coordinated Universal Time (UTC) หากไม่ได้ระบุ fromDate ในคำขอ GET นี้ ระบบจะดึงข้อมูลคำขอทั้งหมดในช่วง 3 สัปดาห์ที่ผ่านมา

สำหรับการตอบกลับขนาดใหญ่ ผลลัพธ์แต่ละหน้าจะแสดงรายการได้สูงสุด 100 รายการ และ มี URI ในแท็ก <link rel='next'...> ที่ชี้ไปยังผลลัพธ์หน้าถัดไป เมื่อพัฒนาแอปพลิเคชันไคลเอ็นต์ โค้ดของคุณจะต้องจัดการผลลัพธ์เพิ่มเติมเหล่านี้

ตัวอย่างการดึงข้อมูลคำขอสถานะกล่องจดหมายทั้งหมด

ตัวอย่างนี้จะดึงข้อมูลคำขอสถานะกล่องจดหมายทั้งหมดสำหรับโดเมน example.com ที่ส่งตั้งแต่วันที่ 9 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);

ลบกล่องจดหมายที่เข้ารหัส

หากต้องการลบไฟล์กล่องจดหมายที่เข้ารหัสที่มีสถานะ COMPLETED หรือ MARKED_DELETED ให้ส่งคำขอ HTTP DELETE ไปยัง URI ของฟีดการส่งออก โดยใส่ requestId ของกล่องจดหมายและส่วนหัว Authorization

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 งานล้างข้อมูลของ Google จะลบคำขอนี้โดยอัตโนมัติภายใน 24 ชั่วโมง อย่างไรก็ตาม สำหรับคำขอที่มีสถานะ MARKED_DELETE ไฟล์กล่องจดหมายบางไฟล์ (หรือทั้งหมด) อาจยังคงพร้อมให้ดาวน์โหลด หากต้องการตรวจสอบว่าระบบได้ลบไฟล์แล้ว ให้เรียกใช้การดำเนินการนี้อีกครั้งจนกว่าจะแสดงสถานะ DELETED หากระบบแสดงสถานะ MARKED_DELETE อย่างสม่ำเสมอ ให้ลองอีกครั้งหลังจากเลื่อนเวลา Exponential Backoff

ตัวอย่างการลบกล่องจดหมายที่เข้ารหัส

ตัวอย่างนี้จะลบกล่องจดหมายของผู้ใช้ quinn@example.com ที่เชื่อมโยงกับ requestId 34201

โปรโตคอล

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