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

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

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

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

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

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

ดูรายการพารามิเตอร์ทั้งหมดที่จะใช้ในคําขอส่งออกกล่องจดหมายได้ที่แหล่งข้อมูล: 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);

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

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

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