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

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

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

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

لتنزيل صندوق بريد، يمكنك إجراء ما يلي:

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

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

قبل أن تتمكن من تنزيل صندوق البريد، يجب تحميل مفتاح تشفير OpenPGP العام للنطاق. تتم هذه الخطوة مرة واحدة عند إعداد تنزيل صندوق البريد الإلكتروني. ويمكنك إنشاء زوج المفتاح العام/الخاص باستخدام أي برنامج متوافق مع OpenPGP، مثل GNU Privacy Guard (GPG). يجب أن يكون مفتاح التشفير العام هذا بترميز RSA بتنسيق 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. يمكنك إرسال طلب 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>
    

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

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

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

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