تنزيل صندوق بريد

بصفتك مشرفًا، يمكنك تنزيل حسابات بريد البريد الإلكتروني ضمن نطاقك لأغراض تفتيش. لإعداد صندوق بريد لتصديره، تنشئ واجهة برمجة التطبيقات Email Audit API نسخة مشفَّرة من صندوق بريد المستخدم. يعرض النظام عناوين URL لملفات صندوق البريد المشفّرة التي تتوفّر بتنسيق mbox عند تنزيلها وفك تشفيرها.

الحد الأقصى لطلبات إنشاء عمليات تصدير علب البريد يوميًا هو 100 طلب في المجمل من جميع مشرفي النطاقات. يمكن أن تستغرق عملية إنشاء صندوق البريد وقتًا طويلاً وقد تستغرق عدة أيام استنادًا إلى حجم صندوق البريد.

تحتفظ Google بملفات البريد الوارد المشفّرة لمدة 3 أسابيع، لذا احرص على تنزيل ملفات البريد الوارد هذه خلال هذه الفترة الزمنية. وبعد هذه المدة، يتم حذفها. لحذف ملفات صندوق البريد الإلكتروني هذه قبل انتهاء الفترة الزمنية، راجِع مقالة حذف صندوق بريد إلكتروني مشفَّر.

لتنزيل صندوق بريد، اتّبِع الخطوات التالية:

  • إنشاء مفتاح عام وتحميله: يمكنك إنشاء مفتاح تشفير عام لتنزيل صناديق البريد. ولن تحتاج إلى تنفيذ هذه الخطوة سوى مرة واحدة. إذا سبق لك إنشاء مفتاح عام، ليس عليك إكمال هذه الخطوة لكل عملية تصدير لبريد إلكتروني.
  • إنشاء نسخة مخصّصة للتصدير من صندوق البريد الإلكتروني للمستخدم: تبدأ عملية تصدير صندوق البريد الإلكتروني عند طلب إنشاء نسخة من صندوق البريد الإلكتروني للمستخدم. تُجري واجهة برمجة التطبيقات Email Audit API مصادقة على بيانات اعتمادك وتمنحها الإذن، كما تعرض معرّف طلب فريدًا. يمكن أن تستغرق عملية إنشاء صندوق البريد وقتًا طويلاً وقد تستغرق عدة أيام استنادًا إلى حجم صندوق البريد.
  • استرداد حالة تنزيل صندوق البريد الإلكتروني: استخدِم معرّف طلب تصدير صندوق البريد الإلكتروني للحصول على حالة الطلب المعلّق. بعد نسخ صندوق البريد الإلكتروني وإعداده للتصدير، يعرض الردّ حالة COMPLETED مع قائمة ملفات صندوق البريد الإلكتروني المشفَّرة كعناوين URL لبروتوكول HTTP. استخدِم هذه المجموعة من عناوين URL لتنزيل ملفات صندوق البريد الإلكتروني.
  • الحصول على ملفات صندوق البريد الإلكتروني التي تم تنزيلها: بعد تنزيل الملفات المشفّرة، عليك فك تشفير ملفات صندوق البريد الإلكتروني باستخدام المفتاح الخاص للنطاق. بعد فك التشفير، تتم معالجة الملفات بتنسيق mbox.

إنشاء مفتاح عام

قبل أن تتمكّن من تنزيل صندوق البريد، عليك تحميل مفتاح تشفير علني OpenPGP للنطاق. يتم تنفيذ هذه الخطوة مرة واحدة عند إعداد تنزيل صندوق البريد الإلكتروني. يمكنك إنشاء مفتاحَي التشفير العام والخاص باستخدام أي برنامج متوافق مع OpenPGP، مثل GNU Privacy Guard (GPG). يجب أن يكون مفتاح التشفير العام هذا مفتاح RSA بتنسيق PGP ويكون مُرمَّزًا بترميز ASCII.

لإنشاء مفتاح باستخدام 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 إلى عنوان URL للخلاصة 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 إلى عنوان URL لخلاصة التصدير وأدرِج العنوان 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 التي تم عرضها للتصدير هي اثنتان.

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 صندوق البريد إلى عنوان URL لخلاصة التصدير، وأدرِج الرأس 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
تعذّر إكمال الطلب بسبب خطأ. من الأمثلة على الخطأ المحتمَل هو تحميل مفتاح عام غير صحيح لواجهة برمجة التطبيقات للنطاق.
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 إلى عنوان URL لخلاصة التصدير وأدرِج العنوان 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 إدخال كحدّ أقصى، وتشمل عنوان URL في علامة <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 إلى عنوان URL لخلاصة التصدير مع تضمين 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");