הורדה של תיבת דואר

אדמינים יכולים להוריד חשבונות של תיבות דואר בדומיין שלהם למטרות ביקורת. כדי להכין תיבת דואר לייצוא, 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 (שם ערכת התווים המועדף של ASCII ב-IANA).

דוגמה

בדוגמה הבאה אפשר לראות איך להמיר מפתח ציבורי למחרוזת בקידוד 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

בדוגמה השנייה, הסטטוס הוא COMPLETED. היא מחזירה שתי כתובות URL של קובצי תיבת דואר שמכילים את קובצי תיבת הדואר המוצפנים, שאפשר להוריד אותם באמצעות כתובות ה-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 הזו, המערכת מאחזרת את כל הבקשות משלושת השבועות האחרונים.

אם התשובה גדולה, כל דף תוצאות יחזיר עד 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");

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