به عنوان یک سرپرست، می توانید حساب های صندوق پستی را در دامنه خود برای اهداف ممیزی دانلود کنید. برای آماده کردن یک صندوق پستی برای صادرات، API حسابرسی ایمیل یک کپی رمزگذاری شده از صندوق پستی کاربر ایجاد می کند. این سیستم آدرسهای اینترنتی فایلهای صندوق پستی رمزگذاری شده را برمیگرداند که پس از دانلود و رمزگشایی، در قالب mbox در دسترس هستند.
حداکثر درخواست ایجاد صادرات صندوق پستی در روز در مجموع 100 درخواست از همه مدیران دامنه است. فرآیند ایجاد صندوق پستی ممکن است زمانبر باشد و بسته به اندازه صندوق پستی ممکن است چندین روز طول بکشد.
Google فایل های صندوق پستی رمزگذاری شده را به مدت 3 هفته حفظ می کند، بنابراین مطمئن شوید که این فایل های صندوق پستی را در این بازه زمانی دانلود کنید. پس از آن زمان، آنها حذف می شوند. برای حذف این فایلهای صندوق پستی قبل از اتمام دوره زمانی، به حذف یک صندوق پستی رمزگذاری شده مراجعه کنید.
برای دانلود صندوق پستی، موارد زیر را انجام دهید:
- ایجاد و بارگذاری یک کلید عمومی — یک کلید رمزگذاری عمومی برای بارگیری صندوق های پستی ایجاد کنید. این مرحله فقط باید یک بار انجام شود. اگر قبلاً یک کلید عمومی ایجاد کرده اید، لازم نیست این مرحله را برای هر صادرات صندوق پستی تکمیل کنید.
- ایجاد یک نسخه صادراتی از صندوق پستی کاربر — فرآیند صادرات صندوق پستی زمانی شروع می شود که شما درخواست ایجاد یک کپی از صندوق پستی کاربر را دارید. Email Audit API اعتبار شما را تأیید و مجوز می دهد و یک شناسه درخواست منحصر به فرد را برمی گرداند. فرآیند ایجاد صندوق پستی ممکن است زمانبر باشد و بسته به اندازه صندوق پستی ممکن است چندین روز طول بکشد.
- بازیابی وضعیت بارگیری صندوق پستی — از شناسه درخواست صادرات صندوق پستی برای دریافت وضعیت درخواست در حال انتظار استفاده کنید. پس از اینکه صندوق پستی کپی شد و برای صادرات آماده شد، پاسخ وضعیت
COMPLETED
را به همراه فهرست فایل های صندوق پستی رمزگذاری شده به عنوان URL های HTTP برمی گرداند. از این مجموعه URL ها برای دانلود فایل های صندوق پستی استفاده کنید. - دریافت فایل های صندوق پستی دانلود شده — پس از دانلود فایل های رمزگذاری شده، فایل های صندوق پستی را با استفاده از کلید خصوصی دامنه رمزگشایی کنید. پس از رمزگشایی، فایل ها در قالب mbox مشاهده می شوند.
یک کلید عمومی تولید کنید
قبل از اینکه بتوانید صندوق پستی را دانلود کنید، باید یک کلید رمزگذاری عمومی OpenPGP برای دامنه آپلود کنید. این مرحله هنگام تنظیم بارگیری صندوق پستی یک بار انجام می شود. میتوانید جفت کلید عمومی/خصوصی را با استفاده از هر نرمافزار سازگار با OpenPGP، مانند GNU Privacy Guard (GPG) ایجاد کنید. این کلید رمزگذاری عمومی باید یک کلید RSA با فرمت PGP با کدگذاری ASCII باشد.
برای ایجاد یک کلید با گنو Privacy Guard، مراحل زیر را دنبال کنید:
یک کلید جدید ایجاد کنید:
gpg --gen-key --expert
برای تنظیم قابلیت های خود، گزینه
8
را انتخاب کرده و قابلیت علامت را تغییر دهید.برای تکمیل فرآیند تولید کلید، همه گزینه های پیش فرض را بپذیرید. این کلید باید عمل رمزگذاری را فعال کند. میتوانید عمل علامت را خاموش کنید زیرا از آن استفاده نمیشود.
فقط کلید شناسه کاربری را صادر کنید که با Google Workspace شما مطابقت دارد:
اگر اولین باری است که از GPG برای تولید کلید استفاده میکنید، کلید واحدی را که به تازگی تولید کردهاید صادر کنید:
gpg --armor --export
اگر قبلاً از GPG برای تولید کلیدهای دیگر استفاده کرده اید، چندین کلید در دسته کلید خود دارید. دریافت لیستی از کلیدها:
gpg --list-keys
اگر چندین کلید فهرست شده است،
uid
کلیدی را که می خواهید صادر کنید مشخص کنید:gpg --armor --export KEY_UID
کلید را با رمزگذاری 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==
کلید عمومی را آپلود کنید
برای آپلود کلید عمومی، یک ورودی 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>
یک درخواست 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>
یک کپی از یک صندوق پستی برای صادرات ایجاد کنید
برای تهیه یک کپی از صندوق پستی کاربر برای صادرات و دانلود، از فید صادراتی API حسابرسی ایمیل استفاده کنید.
یک درخواست POST
به URI فید صادراتی ارسال کنید و سرصفحه Authorization
اضافه کنید:
POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/DOMAIN_NAME/SOURCE_USERNAME
موارد زیر را جایگزین کنید:
-
DOMAIN_NAME
: نام دامنه Google Workspace—برای مثال example.com. -
SOURCE_USERNAME
: نام کاربری صندوق پستی که میخواهید دانلود کنید.
درخواست شامل سرصفحه Content-type
زیر است:
Content-type: application/atom+xml
برای فهرست کامل پارامترهای مورد استفاده در درخواست صادرات صندوق پستی، به منابع: export
مراجعه کنید.
مثالی برای ایجاد یک صندوق پستی برای صادرات
مثال از پارامترهای زیر استفاده می کند:
- کاربری برای صادر کردن صندوق پستی
quinn@example.com
است. -
beginDate
July 1, 2022, 04:30 hours
است. -
endDate
August 30, 2022, 20:00 hours
است. -
includeDeleted
false
است. -
searchQuery
in:chat
است. -
packageContent
FULL_MESSAGE
است.
پروتکل
POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/example.com/quinn <atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'> <apps:property name='beginDate' value='2022-07-01 04:30'/> <apps:property name='endDate' value='2022-08-30 20:00'/> <apps:property name='includeDeleted' value='false'/> <apps:property name='searchQuery' value='in:chat'/> <apps:property name='packageContent' value='FULL_MESSAGE'/> </atom:entry>
در صورت موفقیت آمیز بودن، سرور یک کد وضعیت 201 CREATED
و یک ورودی AtomPub را برمی گرداند.
<entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'> <id>https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/example.com/quinn/53156>/id> <updated>2022-10-17T15:02:45.646Z</updated> <link rel='self' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/example.com/quinn/53156'/> <link rel='edit' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/example.com/quinn/53156'/> <apps:property name='status' value='PENDING'/> <apps:property name='packageContent' value='FULL_MESSAGE'/> <apps:property name='includeDeleted' value='false'/> <apps:property name='searchQuery' value='in:chat'/> <apps:property name='completedDate' value='2022-09-18 10:13'/> <apps:property name='adminEmailAddress' value='admin1@example.com'/> <apps:property name='requestId' value='53156'/> <apps:property name='userEmailAddress' value='quinn@example.com'/> <apps:property name='endDate' value='2022-08-30 20:00'/> <apps:property name='requestDate' value='2022-09-17 12:51'/> <apps:property name='beginDate' value='2022-07-01 04:30'/> </entry>
در این مثال، پردازش این صندوق پستی به پایان رسیده است. ویژگی status
COMPLETED
است و numberOfFiles
که برای صادرات بازگردانده می شود دو است.
جاوا
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
یک شناسه منحصربهفرد برای درخواست صادرات صندوق پستی است که زمانی که صادرات در ابتدا درخواست شد، برگردانده میشود.
این درخواست یک ورودی AtomPub شامل وضعیت فعلی صادرات صندوق پستی را برمی گرداند. مقادیر ممکن برای وضعیت فعلی به شرح زیر است:
-
PENDING
- درخواست در حال پردازش است.
-
ERROR
- درخواست به دلیل خطا انجام نشد. یک مثال از یک خطای احتمالی این است که یک کلید عمومی API اشتباه برای دامنه آپلود شده است.
-
COMPLETED
- درخواست به طور کامل پردازش شده است و فایل های صندوق پستی رمزگذاری شده برای دانلود آماده هستند.
-
MARKED_DELETE
- دفعه بعد که کار پاکسازی Google اجرا می شود، درخواست برای حذف علامت گذاری می شود. برای اطلاعات بیشتر در مورد این کار پاکسازی، به حذف یک صندوق پستی رمزگذاری شده مراجعه کنید.
-
DELETED
- فایلهای صندوق پستی با استفاده از عملیات حذف یک صندوق پستی رمزگذاری شده با موفقیت حذف شدند.
-
EXPIRED
- فایلهای صندوق پستی پس از محدودیت 3 هفتهای نگهداری توسط Google حذف شدند.
مثالی برای بازیابی وضعیت صادرات یک صندوق پستی
این مثال وضعیت صندوق پستی مربوط به 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");
دات نت
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>
جاوا
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
یک شناسه منحصربهفرد برای درخواست صادرات صندوق پستی است که زمانی که صادرات در ابتدا درخواست شد، برگردانده میشود.
اگر در طول فرآیند حذف با خطایی مواجه شد، وضعیت 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");
نت
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");
به عنوان یک سرپرست، می توانید حساب های صندوق پستی را در دامنه خود برای اهداف ممیزی دانلود کنید. برای آماده کردن یک صندوق پستی برای صادرات، API حسابرسی ایمیل یک کپی رمزگذاری شده از صندوق پستی کاربر ایجاد می کند. این سیستم آدرسهای اینترنتی فایلهای صندوق پستی رمزگذاری شده را برمیگرداند که پس از دانلود و رمزگشایی، در قالب mbox در دسترس هستند.
حداکثر درخواست ایجاد صادرات صندوق پستی در روز در مجموع 100 درخواست از همه مدیران دامنه است. فرآیند ایجاد صندوق پستی ممکن است زمانبر باشد و بسته به اندازه صندوق پستی ممکن است چندین روز طول بکشد.
Google فایل های صندوق پستی رمزگذاری شده را به مدت 3 هفته حفظ می کند، بنابراین مطمئن شوید که این فایل های صندوق پستی را در این بازه زمانی دانلود کنید. پس از آن زمان، آنها حذف می شوند. برای حذف این فایلهای صندوق پستی قبل از اتمام دوره زمانی، به حذف یک صندوق پستی رمزگذاری شده مراجعه کنید.
برای دانلود صندوق پستی، موارد زیر را انجام دهید:
- ایجاد و بارگذاری یک کلید عمومی — یک کلید رمزگذاری عمومی برای بارگیری صندوق های پستی ایجاد کنید. این مرحله فقط باید یک بار انجام شود. اگر قبلاً یک کلید عمومی ایجاد کرده اید، لازم نیست این مرحله را برای هر صادرات صندوق پستی تکمیل کنید.
- ایجاد یک نسخه صادراتی از صندوق پستی کاربر — فرآیند صادرات صندوق پستی زمانی شروع می شود که شما درخواست ایجاد یک کپی از صندوق پستی کاربر را دارید. Email Audit API اعتبار شما را تأیید و مجوز می دهد و یک شناسه درخواست منحصر به فرد را برمی گرداند. فرآیند ایجاد صندوق پستی ممکن است زمانبر باشد و بسته به اندازه صندوق پستی ممکن است چندین روز طول بکشد.
- بازیابی وضعیت بارگیری صندوق پستی — از شناسه درخواست صادرات صندوق پستی برای دریافت وضعیت درخواست در حال انتظار استفاده کنید. پس از اینکه صندوق پستی کپی شد و برای صادرات آماده شد، پاسخ وضعیت
COMPLETED
را به همراه فهرست فایل های صندوق پستی رمزگذاری شده به عنوان URL های HTTP برمی گرداند. از این مجموعه URL ها برای دانلود فایل های صندوق پستی استفاده کنید. - دریافت فایل های صندوق پستی دانلود شده — پس از دانلود فایل های رمزگذاری شده، فایل های صندوق پستی را با استفاده از کلید خصوصی دامنه رمزگشایی کنید. پس از رمزگشایی، فایل ها در قالب mbox مشاهده می شوند.
یک کلید عمومی تولید کنید
قبل از اینکه بتوانید صندوق پستی را دانلود کنید، باید یک کلید رمزگذاری عمومی OpenPGP برای دامنه آپلود کنید. این مرحله هنگام تنظیم بارگیری صندوق پستی یک بار انجام می شود. میتوانید جفت کلید عمومی/خصوصی را با استفاده از هر نرمافزار سازگار با OpenPGP، مانند GNU Privacy Guard (GPG) ایجاد کنید. این کلید رمزگذاری عمومی باید یک کلید RSA با فرمت PGP با کدگذاری ASCII باشد.
برای ایجاد یک کلید با گنو Privacy Guard، مراحل زیر را دنبال کنید:
یک کلید جدید ایجاد کنید:
gpg --gen-key --expert
برای تنظیم قابلیت های خود، گزینه
8
را انتخاب کرده و قابلیت علامت را تغییر دهید.برای تکمیل فرآیند تولید کلید، همه گزینه های پیش فرض را بپذیرید. این کلید باید عمل رمزگذاری را فعال کند. میتوانید عمل علامت را خاموش کنید زیرا از آن استفاده نمیشود.
فقط کلید شناسه کاربری را صادر کنید که با Google Workspace شما مطابقت دارد:
اگر اولین باری است که از GPG برای تولید کلید استفاده میکنید، کلید واحدی را که به تازگی تولید کردهاید صادر کنید:
gpg --armor --export
اگر قبلاً از GPG برای تولید کلیدهای دیگر استفاده کرده اید، چندین کلید در دسته کلید خود دارید. دریافت لیستی از کلیدها:
gpg --list-keys
اگر چندین کلید فهرست شده است،
uid
کلیدی را که می خواهید صادر کنید مشخص کنید:gpg --armor --export KEY_UID
کلید را با رمزگذاری 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==
کلید عمومی را آپلود کنید
برای آپلود کلید عمومی، یک ورودی 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>
یک درخواست 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>
یک کپی از یک صندوق پستی برای صادرات ایجاد کنید
برای تهیه یک کپی از صندوق پستی کاربر برای صادرات و دانلود، از فید صادراتی API حسابرسی ایمیل استفاده کنید.
یک درخواست POST
به URI فید صادراتی ارسال کنید و سرصفحه Authorization
اضافه کنید:
POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/DOMAIN_NAME/SOURCE_USERNAME
موارد زیر را جایگزین کنید:
-
DOMAIN_NAME
: نام دامنه Google Workspace—برای مثال example.com. -
SOURCE_USERNAME
: نام کاربری صندوق پستی که میخواهید دانلود کنید.
درخواست شامل سرصفحه Content-type
زیر است:
Content-type: application/atom+xml
برای فهرست کامل پارامترهای مورد استفاده در درخواست صادرات صندوق پستی، به منابع: export
مراجعه کنید.
مثالی برای ایجاد یک صندوق پستی برای صادرات
مثال از پارامترهای زیر استفاده می کند:
- کاربری برای صادر کردن صندوق پستی
quinn@example.com
است. -
beginDate
July 1, 2022, 04:30 hours
است. -
endDate
August 30, 2022, 20:00 hours
است. -
includeDeleted
false
است. -
searchQuery
in:chat
است. -
packageContent
FULL_MESSAGE
است.
پروتکل
POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/example.com/quinn <atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'> <apps:property name='beginDate' value='2022-07-01 04:30'/> <apps:property name='endDate' value='2022-08-30 20:00'/> <apps:property name='includeDeleted' value='false'/> <apps:property name='searchQuery' value='in:chat'/> <apps:property name='packageContent' value='FULL_MESSAGE'/> </atom:entry>
در صورت موفقیت آمیز بودن، سرور یک کد وضعیت 201 CREATED
و یک ورودی AtomPub را برمی گرداند.
<entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'> <id>https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/example.com/quinn/53156>/id> <updated>2022-10-17T15:02:45.646Z</updated> <link rel='self' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/example.com/quinn/53156'/> <link rel='edit' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/example.com/quinn/53156'/> <apps:property name='status' value='PENDING'/> <apps:property name='packageContent' value='FULL_MESSAGE'/> <apps:property name='includeDeleted' value='false'/> <apps:property name='searchQuery' value='in:chat'/> <apps:property name='completedDate' value='2022-09-18 10:13'/> <apps:property name='adminEmailAddress' value='admin1@example.com'/> <apps:property name='requestId' value='53156'/> <apps:property name='userEmailAddress' value='quinn@example.com'/> <apps:property name='endDate' value='2022-08-30 20:00'/> <apps:property name='requestDate' value='2022-09-17 12:51'/> <apps:property name='beginDate' value='2022-07-01 04:30'/> </entry>
در این مثال، پردازش این صندوق پستی به پایان رسیده است. ویژگی status
COMPLETED
است و numberOfFiles
که برای صادرات بازگردانده می شود دو است.
جاوا
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
یک شناسه منحصربهفرد برای درخواست صادرات صندوق پستی است که زمانی که صادرات در ابتدا درخواست شد، برگردانده میشود.
این درخواست یک ورودی AtomPub شامل وضعیت فعلی صادرات صندوق پستی را برمی گرداند. مقادیر ممکن برای وضعیت فعلی به شرح زیر است:
-
PENDING
- درخواست در حال پردازش است.
-
ERROR
- درخواست به دلیل خطا انجام نشد. یک مثال از یک خطای احتمالی این است که یک کلید عمومی API اشتباه برای دامنه آپلود شده است.
-
COMPLETED
- درخواست به طور کامل پردازش شده است و فایل های صندوق پستی رمزگذاری شده برای دانلود آماده هستند.
-
MARKED_DELETE
- دفعه بعد که کار پاکسازی Google اجرا می شود، درخواست برای حذف علامت گذاری می شود. برای اطلاعات بیشتر در مورد این کار پاکسازی، به حذف یک صندوق پستی رمزگذاری شده مراجعه کنید.
-
DELETED
- فایلهای صندوق پستی با استفاده از عملیات حذف یک صندوق پستی رمزگذاری شده با موفقیت حذف شدند.
-
EXPIRED
- فایلهای صندوق پستی پس از محدودیت 3 هفتهای نگهداری توسط Google حذف شدند.
مثالی برای بازیابی وضعیت صادرات یک صندوق پستی
این مثال وضعیت صندوق پستی مربوط به 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");
دات نت
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>
جاوا
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
یک شناسه منحصربهفرد برای درخواست صادرات صندوق پستی است که زمانی که صادرات در ابتدا درخواست شد، برگردانده میشود.
اگر در طول فرآیند حذف با خطایی مواجه شد، وضعیت 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");
نت
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");