یک صندوق پستی را دانلود کنید

به عنوان مدیر، می‌توانید حساب‌های صندوق پستی را در دامنه خود برای اهداف حسابرسی دانلود کنید. برای آماده‌سازی یک صندوق پستی برای صادرات، API حسابرسی ایمیل یک کپی رمزگذاری شده از صندوق پستی کاربر ایجاد می‌کند. سیستم URL های فایل‌های صندوق پستی رمزگذاری شده را برمی‌گرداند که پس از دانلود و رمزگشایی، در قالب mbox در دسترس هستند.

حداکثر درخواست‌های ایجاد خروجی صندوق پستی در روز، در مجموع ۱۰۰ درخواست از همه مدیران دامنه است. فرآیند ایجاد صندوق پستی می‌تواند زمان‌بر باشد و بسته به اندازه صندوق پستی، ممکن است چندین روز طول بکشد.

گوگل فایل‌های رمزگذاری‌شده‌ی صندوق پستی را به مدت ۳ هفته نگه می‌دارد، بنابراین مطمئن شوید که این فایل‌های صندوق پستی را در این بازه زمانی دانلود می‌کنید. پس از این مدت، آنها حذف می‌شوند. برای حذف این فایل‌های صندوق پستی قبل از انقضای این بازه زمانی، به حذف صندوق پستی رمزگذاری‌شده مراجعه کنید.

برای دانلود یک صندوق پستی، موارد زیر را انجام دهید:

  • ایجاد و آپلود کلید عمومی — یک کلید رمزگذاری عمومی برای دانلود صندوق‌های پستی ایجاد کنید. این مرحله فقط باید یک بار انجام شود. اگر قبلاً یک کلید عمومی ایجاد کرده‌اید، نیازی نیست این مرحله را برای هر بار خروجی گرفتن از صندوق پستی انجام دهید.
  • ایجاد یک نسخه خروجی از صندوق پستی کاربر — فرآیند خروجی گرفتن از صندوق پستی زمانی شروع می‌شود که شما درخواست ایجاد یک کپی از صندوق پستی کاربر را می‌دهید. 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. فقط کلید مربوط به شناسه کاربری که با فضای کاری گوگل شما مطابقت دارد را صادر کنید:

    • اگر این اولین بار است که از 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>
    

ایجاد کپی از صندوق پستی برای صادرات

برای تهیه یک کپی از صندوق پستی کاربر برای صادرات و دانلود، از فید صادرات API حسابرسی ایمیل استفاده کنید.

یک درخواست POST به آدرس URL مربوط به export feed ارسال کنید و هدر 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();

دات نت

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 یک شناسه منحصر به فرد برای درخواست export صندوق پستی است که هنگام درخواست اولیه export بازگردانده می‌شود.

این درخواست یک ورودی AtomPub شامل وضعیت فعلی خروجی صندوق پستی را برمی‌گرداند. مقادیر ممکن برای وضعیت فعلی به شرح زیر است:

PENDING
درخواست در حال پردازش است.
ERROR
درخواست به دلیل خطایی ناموفق بود. نمونه‌ای از خطای احتمالی این است که یک کلید عمومی API اشتباه برای دامنه آپلود شده باشد.
COMPLETED
درخواست به طور کامل پردازش شده و فایل‌های رمزگذاری شده صندوق پستی آماده دانلود هستند.
MARKED_DELETE
این درخواست دفعه بعد که کار پاکسازی گوگل اجرا می‌شود، برای حذف علامت‌گذاری می‌شود. برای اطلاعات بیشتر در مورد این کار پاکسازی، به حذف صندوق پستی رمزگذاری شده مراجعه کنید.
DELETED
فایل‌های صندوق پستی با استفاده از عملیات حذف صندوق پستی رمزگذاری شده با موفقیت حذف شدند.
EXPIRED
فایل‌های صندوق پستی پس از محدودیت نگهداری ۳ هفته‌ای توسط گوگل حذف شدند.

مثال برای بازیابی وضعیت صادرات یک صندوق پستی

این مثال وضعیت صندوق پستی مربوط به 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 موفقیت‌آمیز است. این مثال دو آدرس اینترنتی فایل صندوق پستی حاوی فایل‌های صندوق پستی رمزگذاری شده را برمی‌گرداند که می‌توانند با استفاده از آدرس‌های اینترنتی موجود در عناصر 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");

دات نت

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). اگر در این درخواست GET ، fromDate مشخص نشده باشد، تمام درخواست‌های سه هفته گذشته بازیابی می‌شوند.

برای یک پاسخ بزرگ، هر صفحه از نتایج حداکثر ۱۰۰ ورودی را برمی‌گرداند و شامل یک 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();
}

دات نت

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 یک شناسه منحصر به فرد برای درخواست export صندوق پستی است که هنگام درخواست اولیه export بازگردانده می‌شود.

اگر در طول فرآیند حذف با خطایی مواجه شوید، وضعیت MARKED_DELETE برگردانده می‌شود. این درخواست به طور خودکار توسط یک کار پاکسازی گوگل ظرف ۲۴ ساعت حذف خواهد شد. با این حال، برای درخواستی با وضعیت 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");

دات نت

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