ในฐานะผู้ดูแลระบบ คุณสามารถดาวน์โหลดบัญชีกล่องจดหมายภายในโดเมนเพื่อวัตถุประสงค์ในการตรวจสอบได้ 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 ให้ทำตามขั้นตอนต่อไปนี้
สร้างคีย์ใหม่
gpg --gen-key --expert
หากต้องการตั้งค่าความสามารถของคุณเอง ให้เลือกตัวเลือก
8
แล้วสลับความสามารถของป้ายยอมรับตัวเลือกเริ่มต้นทั้งหมดเพื่อดำเนินการสร้างคีย์ให้เสร็จสมบูรณ์ คีย์นี้ควรเปิดใช้การดำเนินการเข้ารหัส คุณปิดการดำเนินการลงชื่อได้เนื่องจากไม่มีการใช้งาน
ส่งออกเฉพาะคีย์สำหรับรหัสผู้ใช้ที่สอดคล้องกับ Google Workspace ของคุณ โดยทำดังนี้
หากใช้ GPG เพื่อสร้างคีย์เป็นครั้งแรก ให้ส่งออกคีย์เดียวที่เพิ่งสร้างขึ้นโดยทำดังนี้
gpg --armor --export
หากใช้ GPG เพื่อสร้างคีย์อื่นๆ ไว้แล้ว คุณจะมีคีย์หลายรายการในพวงกุญแจ ดูรายการคีย์
gpg --list-keys
หากมีคีย์หลายรายการในรายการ ให้ระบุ
uid
ของคีย์ที่ต้องการส่งออกgpg --armor --export KEY_UID
เข้ารหัสคีย์ด้วยการเข้ารหัส 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==
อัปโหลดคีย์สาธารณะ
หากต้องการอัปโหลดคีย์สาธารณะ ให้สร้างรายการ 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>
ส่งคำขอ 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.comSOURCE_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.comSOURCE_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.comFROM_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.comSOURCE_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");