หากต้องการตั้งค่าการตรวจสอบอีเมลด้วย Email Audit API ผู้ดูแลระบบจะต้องกำหนดช่วงวันที่เพื่อให้ผู้ตรวจสอบได้รับสำเนาอีเมลที่ส่งและอีเมลที่ได้รับของผู้ใช้รายหนึ่งเป็นไฟล์แนบ จำนวนคำขอสร้างและลบการตรวจสอบสูงสุดต่อวันคือ 1,000 คำขอ ขีดจํากัดนี้คิดต่อโดเมน 1 โดเมน และรวมคําขอทั้งหมดที่ผู้ดูแลระบบส่งในระหว่างวัน
สถานการณ์อีเมลที่มีการตรวจสอบจะมีผู้ใช้ 3 ประเภท ได้แก่
ผู้ดูแลระบบ - ผู้ดูแลระบบโดเมนทุกคนสามารถสร้าง เรียกข้อมูล อัปเดต และลบเครื่องมือตรวจสอบอีเมลได้โดยใช้ทรัพยากรเครื่องมือตรวจสอบของ Email Audit API นอกจากนี้ ผู้ดูแลระบบยังใช้ API เพื่อดาวน์โหลดกล่องจดหมายได้ด้วย การดำเนินการเหล่านี้จะทำได้ภายในโดเมนที่ผู้ดูแลระบบควบคุมเท่านั้น
ผู้ใช้ต้นทาง - ผู้ใช้ต้นทางคือผู้ใช้ที่รับหรือส่งข้อความที่ผู้ใช้ปลายทางที่ตรวจสอบกำลังตรวจสอบ ผู้ดูแลระบบโดเมนหรือผู้ใช้บัญชีใดก็ได้ที่จะเป็นผู้ใช้แหล่งที่มา ผู้ใช้ต้นทางต้องอยู่ในโดเมนเดียวกับผู้ดูแลระบบและผู้ใช้ปลายทาง
ผู้ใช้ปลายทาง - ผู้ใช้ปลายทางคือผู้ตรวจสอบที่ได้รับข้อความอีเมลที่ตรวจสอบแล้ว
- รับสำเนาลับ (Bcc) ของข้อความอีเมลขาเข้าและขาออกทั้งหมด รวมถึงไฟล์แนบขาเข้าและขาออก ข้อความที่ส่งต่อ และข้อความอีเมลที่ส่งจากอุปกรณ์เคลื่อนที่
- ผู้ดูแลระบบโดเมนสามารถเปิดใช้ฟีเจอร์การตรวจสอบเพิ่มเติมสําหรับผู้ใช้ปลายทางได้ (ไม่บังคับ) ฟีเจอร์ที่ไม่บังคับ ได้แก่ การตรวจสอบอีเมลฉบับร่างที่บันทึกไว้ การตรวจสอบแชท Hangouts ที่เก็บถาวรกับผู้ใช้รายอื่นที่อยู่ในหรือนอกโดเมน
- แม้ว่าผู้ใช้ปลายทางจะได้รับสำเนาข้อความสำเนาลับ แต่ผู้ใช้ดังกล่าวจะไม่เห็นการเชื่อมโยงสำเนาลับในส่วนหัวของข้อความที่เข้าถึงได้ในบัญชีของผู้ใช้ต้นทาง
- ระบบจะส่งข้อความอีเมลที่ตรวจสอบแล้วแต่ละรายการไปยังผู้ใช้ปลายทางเป็นไฟล์แนบของอีเมล และผู้ดูแลระบบโดเมนสามารถกำหนดค่าข้อความเหล่านี้ให้เป็นข้อความอีเมลแบบเต็มหรือเฉพาะส่วนหัวของข้อความก็ได้
- ผู้ใช้ปลายทางรายนี้ต้องมีบัญชีอีเมลที่ใช้งานอยู่ในโดเมนที่ตรวจสอบ โดเมนนี้ต้องเป็นโดเมนเดียวกับที่เชื่อมโยงกับผู้ใช้ที่ดูแลระบบและผู้ใช้ปลายทาง
- ผู้ใช้ปลายทางอาจเป็นผู้ดูแลระบบหรือผู้ใช้ภายในโดเมนก็ได้ และผู้ใช้ปลายทางรายนี้สามารถเปลี่ยนบทบาทเป็นผู้ใช้ต้นทางโดยรับการตรวจสอบจากผู้ใช้ปลายทางอีกรายหนึ่ง ซึ่งผู้ใช้รายดังกล่าวจะได้รับสำเนาของข้อความอีเมลทั้งหมดที่ตรวจสอบแล้วซึ่งส่งไปยังผู้ใช้ปลายทางรายแรก
- ผู้ดูแลระบบโดเมนจะสร้างเครื่องมือตรวจสอบอีเมลที่ตรวจสอบแล้ว 1 รายการสําหรับคู่ "ผู้ใช้ปลายทาง - ผู้ใช้ต้นทาง" ที่ไม่ซ้ำกัน 1 คู่ กล่าวคือ ความสัมพันธ์ในการตรวจสอบคือผู้ใช้ปลายทาง 1 รายกับผู้ใช้ต้นทาง 1 ราย การตรวจสอบแต่ละครั้งจะดำเนินการโดยใช้ทรัพยากรเครื่องมือตรวจสอบ API การใช้เครื่องมือตรวจสอบ API หลายรายการจะช่วยให้ผู้ใช้ปลายทางตรวจสอบผู้ใช้หลายคนในโดเมนได้ และการใช้เครื่องมือตรวจสอบ API หลายรายการจะช่วยให้ผู้ใช้ปลายทางหลายคนตรวจสอบผู้ใช้แหล่งที่มาได้
- หากมีการสร้างเครื่องมือตรวจสอบ API เพิ่มเติมหรือมีการอัปเดตเครื่องมือตรวจสอบ API ที่มีอยู่สําหรับคู่ "ผู้ใช้ปลายทาง - ผู้ใช้แหล่งที่มา" เครื่องมือตรวจสอบที่สร้างล่าสุดจะแทนที่เครื่องมือตรวจสอบที่มีอยู่สําหรับคู่นี้ โดยพื้นฐานแล้ว วิธีนี้คือวิธีอัปเดตเครื่องมือตรวจสอบ API ดูข้อมูลเพิ่มเติมเกี่ยวกับการอัปเดตเครื่องมือตรวจสอบได้ที่อัปเดตเครื่องมือตรวจสอบอีเมล
สร้างการตรวจสอบอีเมล
หากต้องการสร้างการตรวจสอบอีเมล ให้ส่งคําขอ POST
ต่อไปนี้พร้อมแหล่งข้อมูลการตรวจสอบอีเมล
POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/DOMAIN_NAME/SOURCE_USERNAME
แทนที่ค่าต่อไปนี้
DOMAIN_NAME
: ชื่อโดเมน Google Workspace เช่น example.comSOURCE_USERNAME
: ชื่อผู้ใช้ที่ต้องการตรวจสอบ
คำขอ POST
มีส่วนหัว Content-type
ดังต่อไปนี้
Content-type: application/atom+xml
ดูรายการพารามิเตอร์ทั้งหมดที่จะใช้ในคําขอเครื่องมือตรวจสอบอีเมลได้ที่แหล่งข้อมูล: monitor
ตัวอย่างการสร้างเครื่องมือตรวจสอบใหม่
ตัวอย่างนี้ใช้พารามิเตอร์ต่อไปนี้
- ผู้ใช้ที่จะได้รับการตรวจสอบคือ
amal@example.com
destUserName
มีค่าเป็นizumi
beginDate
มีค่าเป็นJune 15, 2022, 00:00 hours
endDate
มีค่าเป็นJune 30, 2022, 23:20 hours
incomingEmailMonitorLevel
มีค่าเป็นFULL_MESSAGE
outgoingEmailMonitorLevel
มีค่าเป็นHEADER_ONLY
draftMonitorLevel
มีค่าเป็นFULL_MESSAGE
chatMonitorLevel
มีค่าเป็นFULL_MESSAGE
โปรโตคอล
POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal <atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'> <apps:property name='destUserName' value='izumi'/> <apps:property name='beginDate' value='2022-06-15 00:00'/> <apps:property name='endDate' value='2022-06-30 23:20'/> <apps:property name='incomingEmailMonitorLevel' value='FULL_MESSAGE'/> <apps:property name='outgoingEmailMonitorLevel' value='HEADER_ONLY'/> <apps:property name='draftMonitorLevel' value='FULL_MESSAGE'/> <apps:property name='chatMonitorLevel' value='FULL_MESSAGE'/> </atom:entry>
หากดำเนินการสำเร็จ เซิร์ฟเวอร์จะแสดงรหัสสถานะ 201 CREATED
และรายการ AtomPub ที่มีองค์ประกอบ entry
ซึ่งแสดงการตั้งค่าการตรวจสอบใหม่ ดังนี้
<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/monitor/example.com/amal/id</id> <updated>2022-04-17T15:02:45.646Z</updated/> <link rel='self' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal/id'/> <link rel='edit' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal/id'/> <apps:property name='destUserName' value='izumi'/> <apps:property name='beginDate' value='2022-06-15 00:00'/> <apps:property name='endDate' value='2022-06-30 23:20'/> <apps:property name='incomingEmailMonitorLevel' value='FULL_MESSAGE'/> <apps:property name='outgoingEmailMonitorLevel' value='HEADER_ONLY'/> <apps:property name='draftMonitorLevel' value='FULL_MESSAGE'/> <apps:property name='chatMonitorLevel' value='FULL_MESSAGE'/> </entry>
Java
import java.util.Calendar; import com.google.gdata.client.appsforyourdomain.audit.AuditService; import com.google.gdata.data.appsforyourdomain.generic.GenericEntry; import com.google.gdata.client.appsforyourdomain.audit.MailMonitor; ... MailMonitor monitor = new MailMonitor(); Calendar beginDate = Calendar.getInstance(); beginDate.set(2022, Calendar.JUNE, 15, 0, 0) monitor.setBeginDate(beginDate.getTime()); Calendar endDate = Calendar.getInstance(); endDate.set(2022, Calendar.JUNE, 30, 23, 20); monitor.setEndDate(endDate.getTime()); monitor.setIncomingEmailMonitorLevel("FULL_MESSAGE"); monitor.setOutgoingEmailMonitorLevel("HEADER_ONLY"); monitor.setDraftMonitorLevel("FULL_MESSAGE"); monitor.setChatMonitorLevel("FULL_MESSAGE"); monitor.setDestUserName("izumi"); AuditService service = new AuditService("admin@example.com", "p@55w0rd", "example.com", "example.com-auditapp-v1"); GenericEntry entry = service.createMailMonitor("amal", monitor);
.NET
using System; using Google.GData.Apps; using Google.GData.Extensions.Apps; ... MailMonitor monitor = new MailMonitor(); monitor.BeginDate = new DateTime(2022, 6, 15); monitor.EndDate = new DateTime(2022, 6, 30, 23, 20, 0); monitor.IncomingEmailMonitorLevel = MonitorLevel.FULL_MESSAGE; monitor.OutgoingEmailMonitorLevel = MonitorLevel.HEADER_ONLY; monitor.DraftMonitorLevel = MonitorLevel.FULL_MESSAGE; monitor.ChatMonitorLevel = MonitorLevel.FULL_MESSAGE; monitor.DestinationUserName = "izumi"; AuditService service = new AuditService("example.com", "example.com-auditapp-v1"); service.setUserCredentials("admin@example.com", "p@55w0rd"); MailMonitor monitorEntry = service.CreateMailMonitor("amal", monitor);
อัปเดตการตรวจสอบอีเมล
เมื่ออัปเดตเครื่องมือตรวจสอบที่มีผู้ใช้ต้นทางและผู้ใช้ปลายทางเดียวกัน การตั้งค่าพร็อพเพอร์ตี้ของเครื่องมือตรวจสอบเริ่มต้นจะถูกแทนที่ด้วยการตั้งค่าใหม่
หากต้องการอัปเดตการกำหนดค่าการตรวจสอบในเครื่องมือตรวจสอบอีเมล ให้ส่งคำขอ POST
ไปยัง URI ของฟีดตรวจสอบและใส่ส่วนหัว Authorization
ดังนี้
POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/DOMAIN_NAME/SOURCE_USERNAME
แทนที่ค่าต่อไปนี้
DOMAIN_NAME
: ชื่อโดเมน Google Workspace เช่น example.comSOURCE_USERNAME
: ชื่อผู้ใช้ของเครื่องมือตรวจสอบอีเมลที่ต้องการอัปเดต
ตัวอย่างการอัปเดตเครื่องมือตรวจสอบอีเมล
ตัวอย่างนี้จะอัปเดตเครื่องมือตรวจสอบที่สร้างในตัวอย่างการสร้างเครื่องมือตรวจสอบอีเมลด้วยการอัปเดตพร็อพเพอร์ตี้ที่ต้องระบุ endDate
และพร็อพเพอร์ตี้ที่ไม่บังคับ chatMonitorLevel
ตัวอย่างนี้ใช้พารามิเตอร์ต่อไปนี้
endDate
ใหม่คือAugust 30, 2022, 23:20 hours
chatMonitorLevel
เปลี่ยนชื่อเป็นHEADER_ONLY
แล้ว- ผู้ใช้ที่จะได้รับการตรวจสอบจะยังคงเป็น
amal@example.com
destUserName
ยังคงเป็นizumi
พร็อพเพอร์ตี้ของจอภาพที่ไม่ได้อัปเดตจะเปลี่ยนกลับไปเป็นค่าเริ่มต้น ตัวอย่างเช่น ในตัวอย่างนี้ พร็อพเพอร์ตี้ incomingEmailMonitorLevel
และ outgoingEmailMonitorLevel
จะเปลี่ยนกลับไปเป็น FULL_MESSAGE
และ draftMonitorLevel
จะเปลี่ยนกลับไปเป็น NONE
โปรโตคอล
POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal <atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'> <apps:property name='destUserName' value='izumi'/> <apps:property name='endDate' value='2022-08-30 23:20'/> <apps:property name='chatMonitorLevel' value='HEADER_ONLY'/> </atom:entry>
หากดำเนินการสำเร็จ เซิร์ฟเวอร์จะแสดงรหัสสถานะ 201 CREATED
และรายการ AtomPub ที่มีองค์ประกอบ entry
ที่อัปเดต พร็อพเพอร์ตี้ที่ไม่ได้อัปเดตและแสดงในการตอบกลับจะเปลี่ยนกลับไปเป็นค่าเริ่มต้น
<entry> <entry xmlns='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/monitor/example.com/amal/izumi</id> <updated>2022-08-20T00:28:57.319Z</updated> <link rel='self' type='application/atom+xml' href="https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal/izumi" /> <link rel='edit' type='application/atom+xml' href="https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal/izumi" /> <apps:property name='chatMonitorLevel' value='HEADER_ONLY' /> <apps:property name='destUserName' value='izumi' /> <apps:property name='endDate' value='2022-08-30 23:20' /> </entry>
Java
import java.util.Calendar; import com.google.gdata.client.appsforyourdomain.audit.AuditService; import com.google.gdata.client.appsforyourdomain.audit.MailMonitor; import com.google.gdata.data.appsforyourdomain.generic.GenericEntry; ... MailMonitor monitor = new MailMonitor(); Calendar endDate = Calendar.getInstance(); endDate.set(2022, Calendar.AUGUST, 30, 23, 20); monitor.setEndDate(endDate.getTime()); monitor.setChatMonitorLevel("HEADER_ONLY"); monitor.setDestUserName("izumi"); AuditService service = new AuditService("admin@example.com", "p@55w0rd", "example.com", "example.com-auditapp-v1"); GenericEntry entry = service.createMailMonitor("amal", monitor);
.NET
using System; using Google.GData.Apps; using Google.GData.Extensions.Apps; ... MailMonitor monitor = new MailMonitor(); monitor.EndDate = new DateTime(2022, 8, 30, 23, 20, 0); monitor.ChatMonitorLevel = MonitorLevel.HEADER_ONLY; monitor.DestinationUserName = "izumi"; AuditService service = new AuditService("example.com", "example.com-auditapp-v1"); service.setUserCredentials("admin@example.com", "p@55w0rd"); MailMonitor monitorEntry = service.CreateMailMonitor("amal", monitor);
เรียกข้อมูลเครื่องมือตรวจสอบอีเมลทั้งหมดของผู้ใช้ต้นทาง
หากต้องการเรียกข้อมูลจอภาพที่เชื่อมโยงกับผู้ใช้แหล่งที่มาทั้งหมด ให้ส่งคำขอ GET
HTTP ไปที่ URI ของฟีดจอภาพ โดยใช้รูปแบบ UTC สำหรับวันที่ และใส่ส่วนหัว Authorization
ดังนี้
GET https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/DOMAIN_NAME/SOURCE_USERNAME
แทนที่ค่าต่อไปนี้
DOMAIN_NAME
: ชื่อโดเมน Google Workspace เช่น example.comSOURCE_USERNAME
: ชื่อผู้ใช้ของเครื่องมือตรวจสอบอีเมลที่ต้องการเรียกข้อมูล
การดำเนินการนี้ไม่มีพารามิเตอร์ในเนื้อหาของคำขอ ดังนั้นเนื้อหา XML จึงว่างเปล่า
ตัวอย่างการเรียกข้อมูลเครื่องมือตรวจสอบอีเมลทั้งหมด
ตัวอย่างนี้จะดึงข้อมูลจอภาพทั้งหมดที่สร้างสําหรับผู้ใช้ amal@example.com
โปรโตคอล
GET https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal
หากดำเนินการสำเร็จ เซิร์ฟเวอร์จะแสดงรหัสสถานะ 201 CREATED
และฟีด AtomPub ที่มีองค์ประกอบ entry
สำหรับจอภาพ 2 ตัวที่แสดงการตั้งค่าสำหรับผู้ใช้ปลายทาง 2 ราย (izumi@example.com,
taylor@example.com
)
<feed xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:apps='http://schemas.google.com/apps/2006'> <id>https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal</id> <updated>2010-03-17T15:29:21.064Z</updated> <link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal'/> <link rel='http://schemas.google.com/g/2005#post' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal'/> <link rel='self' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal'/> <openSearch:startIndex>1</openSearch:startIndex> <entry> <id>https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal/izumi</id> <updated>2022-04-17T15:29:21.064Z</updated> <link rel='self' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal/izumi&'/> <link rel='edit' type='application/atom+xml' href='https://apps-apis.google.com/feeds/compliance/audit/mail/monitor/example.com/amal/izumi&'/> <apps:property name='requestId' value='53156'/> <apps:property name='destUserName' value='izumi'/> <apps:property name='beginDate' value='2022-06-15 00:00'/> <apps:property name='endDate' value='2022-06-30 23:20'/> <apps:property name='incomingEmailMonitorLevel' value='FULL_MESSAGE'/> <apps:property name='outgoingEmailMonitorLevel' value='FULL_MESSAGE'/> <apps:property name='draftMonitorLevel' value='FULL_MESSAGE'/> <apps:property name='chatMonitorLevel' value='FULL_MESSAGE'/> </entry> <entry> <id>>https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal/taylor</id> <updated>2022-05-17T15:29:21.064Z</updated> <link rel='self' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal/taylor'/> <link rel='edit' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal/taylor'/> <apps:property name='requestId' value='22405'/> <apps:property name='destUserName' value='taylor'/> <apps:property name='beginDate' value='2022-06-20 00:00'/> <apps:property name='endDate' value='2022-07-30 23:20'/> <apps:property name='incomingEmailMonitorLevel' value='FULL_MESSAGE'/> <apps:property name='outgoingEmailMonitorLevel' value='FULL_MESSAGE'/> <apps:property name='draftMonitorLevel' value='FULL_MESSAGE'/> <apps:property name='chatMonitorLevel' value='FULL_MESSAGE'/> </entry> </feed>
Java
import com.google.gdata.client.appsforyourdomain.audit.AuditService; import com.google.gdata.data.appsforyourdomain.generic.GenericFeed; ... AuditService service = new AuditService("admin@example.com", "p@55w0rd", "example.com", "example.com-auditapp-v1"); GenericFeed feed = service.retrieveMonitors("amal");
.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<MailMonitor> monitors = service.RetrieveMailMonitors("amal");
ลบการตรวจสอบอีเมล
หากต้องการลบเครื่องมือตรวจสอบอีเมล ให้ส่งDELETE
คําขอ HTTP ไปยัง URI ลบของฟีดตรวจสอบ และใส่ส่วนหัว Authorization
ดังนี้
DELETE https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/DOMAIN_NAME/SOURCE_USERNAME/DESTINATION_USERNAME
แทนที่ค่าต่อไปนี้
DOMAIN_NAME
: ชื่อโดเมน Google Workspace เช่น example.comSOURCE_USERNAME
: ชื่อผู้ใช้ของเครื่องมือตรวจสอบอีเมลที่ต้องการลบDESTINATION_USERNAME
: ผู้ตรวจสอบที่ได้รับข้อความอีเมลที่ตรวจสอบแล้ว
ตัวอย่างการลบการตรวจสอบอีเมล
ตัวอย่างนี้จะลบจอภาพที่สร้างขึ้นสําหรับผู้ใช้ amal@example.com
โดย destinationUserName
เป็น izumi
โปรโตคอล
DELETE https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal/izumi
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.deleteMonitor("amal", "izumi");
.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.DeleteMailMonitor("amal", "izumi");