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

ในฐานะผู้ดูแลระบบ คุณสามารถดาวน์โหลดบัญชีกล่องจดหมายภายในโดเมนเพื่อการตรวจสอบได้ 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);

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

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

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

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

ตัวอย่างนี้จะลบกล่องจดหมายสำหรับผู้ใช้ 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");

รายได้สุทธิ

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