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

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

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

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

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

  • إنشاء مفتاح عام وتحميله: أنشئ مفتاح تشفير عام لتنزيل صناديق البريد الإلكتروني. يجب تنفيذ هذه الخطوة مرة واحدة فقط. إذا سبق لك إنشاء مفتاح عام، ليس عليك إكمال هذه الخطوة لكل عملية تصدير لصندوق بريد إلكتروني.
  • إنشاء نسخة تصدير من صندوق بريد إلكتروني خاص بمستخدم — تبدأ عملية تصدير صندوق البريد الإلكتروني عندما تطلب إنشاء نسخة من صندوق بريد إلكتروني خاص بمستخدم. تُصادق واجهة برمجة تطبيقات "تدقيق الرسائل الإلكترونية" بيانات الاعتماد الخاصة بك وتمنحك الإذن باستخدامها وتعرض معرّف طلب فريدًا. قد تستغرق عملية إنشاء صندوق البريد الإلكتروني وقتًا طويلاً وقد تستغرق عدة أيام حسب حجم صندوق البريد الإلكتروني.
  • استرداد حالة تنزيل صندوق البريد الإلكتروني — استخدِم معرّف طلب تصدير صندوق البريد الإلكتروني للاطّلاع على حالة الطلب المعلق. بعد نسخ صندوق البريد الإلكتروني وإعداده للتصدير، تعرض الاستجابة الحالة 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، (اسم مجموعة الأحرف المفضّلة لدى 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. أرسِل طلب POST لبروتوكول HTTP إلى معرّف 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>
    

إنشاء نسخة من صندوق بريد إلكتروني لتصديرها

لإعداد نسخة من صندوق بريد إلكتروني خاص بمستخدم لتصديرها وتنزيلها، استخدِم خلاصة التصدير في واجهة برمجة تطبيقات "تدقيق الرسائل الإلكترونية".

أرسِل طلب 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 الذي يتم عرضه للتصدير هو اثنان.

جافا

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

استرداد حالة تصدير صندوق بريد إلكتروني

بما أنّ إعداد تصدير صندوق بريد إلكتروني هو عملية غير متزامنة، استخدِم طلب الاسترداد هذا لمعرفة ما إذا اكتملت معالجة صندوق البريد الإلكتروني المشفّر.

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

جافا

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;

استرداد جميع طلبات حالة صندوق البريد الإلكتروني

لاسترداد جميع طلبات صندوق البريد الإلكتروني لنطاق بدءًا من تاريخ معيّن، أرسِل طلب GET لبروتوكول HTTP إلى معرّف 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>

جافا

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، أرسِل طلب DELETE لبروتوكول HTTP إلى الـ 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

جافا

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