मेलबॉक्स डाउनलोड करना

एडमिन के तौर पर, आपके पास अपने डोमेन में मौजूद मेलबॉक्स खातों को ऑडिट के मकसद से डाउनलोड करने का विकल्प होता है. किसी मेलबॉक्स को एक्सपोर्ट के लिए तैयार करने के लिए, ईमेल ऑडिट एपीआई, उपयोगकर्ता के मेलबॉक्स की एन्क्रिप्ट की गई कॉपी बनाता है. सिस्टम, एन्क्रिप्ट (सुरक्षित) की गई मेलबॉक्स फ़ाइलों के यूआरएल दिखाता है. इन्हें डाउनलोड और डिक्रिप्ट (सुरक्षित से सामान्य में बदलना) करने पर, ये mbox फ़ॉर्मैट में उपलब्ध होती हैं.

सभी डोमेन एडमिन, हर दिन ज़्यादा से ज़्यादा 100 अनुरोध कर सकते हैं. मेलबॉक्स बनाने की प्रोसेस में समय लग सकता है. साथ ही, मेलबॉक्स के साइज़ के हिसाब से इसमें कुछ दिन भी लग सकते हैं.

Google, एन्क्रिप्ट (सुरक्षित) की गई मेलबॉक्स फ़ाइलों को तीन हफ़्ते तक सेव रखता है. इसलिए, पक्का करें कि आपने इस समयावधि के अंदर इन मेलबॉक्स फ़ाइलों को डाउनलोड कर लिया हो. इसके बाद, उन्हें मिटा दिया जाता है. समयसीमा खत्म होने से पहले, इन मेलबॉक्स फ़ाइलों को मिटाने के लिए, एन्क्रिप्ट (सुरक्षित) किया गया मेलबॉक्स मिटाना लेख पढ़ें.

मेलबॉक्स डाउनलोड करने के लिए, यह तरीका अपनाएं:

  • सार्वजनिक कुंजी जनरेट और अपलोड करना — मेलबॉक्स डाउनलोड करने के लिए, एन्क्रिप्ट (सुरक्षित) करने वाली सार्वजनिक कुंजी बनाएं. यह चरण सिर्फ़ एक बार करना होगा. अगर आपने पहले ही सार्वजनिक कुंजी बना ली है, तो आपको हर मेलबॉक्स एक्सपोर्ट के लिए यह चरण पूरा करने की ज़रूरत नहीं है.
  • किसी उपयोगकर्ता के मेलबॉक्स का एक्सपोर्ट वर्शन बनाना — किसी उपयोगकर्ता के मेलबॉक्स की कॉपी बनाने का अनुरोध करने पर, मेलबॉक्स एक्सपोर्ट करने की प्रोसेस शुरू हो जाती है. Email Audit API, आपके क्रेडेंशियल की पुष्टि करता है और उन्हें अनुमति देता है. साथ ही, एक यूनीक अनुरोध आईडी दिखाता है. मेलबॉक्स बनाने की प्रोसेस में समय लग सकता है. साथ ही, मेलबॉक्स के साइज़ के हिसाब से इसमें कई दिन भी लग सकते हैं.
  • मेलबॉक्स डाउनलोड करने की स्थिति देखना — मेलबॉक्स एक्सपोर्ट करने के अनुरोध का आईडी इस्तेमाल करके, लंबित अनुरोध की स्थिति देखें. मेलबॉक्स को कॉपी करने और एक्सपोर्ट के लिए तैयार करने के बाद, रिस्पॉन्स में COMPLETED का स्टेटस दिखता है. साथ ही, एन्क्रिप्ट (सुरक्षित) की गई मेलबॉक्स फ़ाइलों की सूची, एचटीटीपी यूआरएल के तौर पर दिखती है. मेलबॉक्स फ़ाइलों को डाउनलोड करने के लिए, यूआरएल के इस सेट का इस्तेमाल करें.
  • डाउनलोड की गई मेलबॉक्स फ़ाइलें पाना — एन्क्रिप्ट (सुरक्षित) की गई फ़ाइलें डाउनलोड करने के बाद, डोमेन की निजी कुंजी का इस्तेमाल करके मेलबॉक्स फ़ाइलों को डिक्रिप्ट (सुरक्षित) करें. डिक्रिप्ट करने के बाद, फ़ाइलों को mbox फ़ॉर्मैट में देखा जा सकता है.

सार्वजनिक कुंजी जनरेट करना

मेलबॉक्स डाउनलोड करने से पहले, आपको डोमेन के लिए OpenPGP की सार्वजनिक एन्क्रिप्शन पासकोड अपलोड करना होगा. मेलबॉक्स डाउनलोड की सुविधा सेट अप करते समय, यह चरण एक बार किया जाता है. आपके पास, GNU Privacy Guard (GPG) जैसे किसी भी OpenPGP-संगत सॉफ़्टवेयर का इस्तेमाल करके, सार्वजनिक/निजी कुंजी का जोड़ा जनरेट करने का विकल्प होता है. एन्क्रिप्शन के लिए इस्तेमाल की जाने वाली यह सार्वजनिक कुंजी, PGP फ़ॉर्मैट में ASCII-कोड में बदली गई आरएसए कुंजी होनी चाहिए.

GNU Privacy Guard की मदद से पासकोड जनरेट करने के लिए, यह तरीका अपनाएं:

  1. GnuPG 1.4 इंस्टॉल करें.

  2. नई कुंजी जनरेट करें:

    gpg --gen-key --expert
    
  3. अपनी सुविधाएं सेट करने के लिए, 8 विकल्प चुनें और हस्ताक्षर करने की सुविधा को टॉगल करें.

  4. पासकोड जनरेट करने की प्रोसेस पूरी करने के लिए, सभी डिफ़ॉल्ट विकल्प स्वीकार करें. इस पासकोड के लिए, एन्क्रिप्ट (सुरक्षित) करने की सुविधा चालू होनी चाहिए. साइन करने की कार्रवाई को बंद किया जा सकता है, क्योंकि इसका इस्तेमाल नहीं किया जाता.

  5. सिर्फ़ उस उपयोगकर्ता आईडी के लिए पासकोड एक्सपोर्ट करें जो आपके Google Workspace खाते से जुड़ा है:

    • अगर आपने पहली बार कुंजी जनरेट करने के लिए GPG का इस्तेमाल किया है, तो अभी जनरेट की गई एक कुंजी को एक्सपोर्ट करें:

      gpg --armor --export
      
    • अगर आपने पहले से ही अन्य कुंजियां जनरेट करने के लिए GPG का इस्तेमाल किया है, तो आपकी कीरिंग में कई कुंजियां होंगी. कुंजियों की सूची पाएं:

      gpg --list-keys
      

      अगर सूची में एक से ज़्यादा कुंजियां हैं, तो उस कुंजी का uid डालें जिसे आपको एक्सपोर्ट करना है:

      gpg --armor --export KEY_UID
      
  6. Motobit या किसी दूसरे टूल की मदद से, पासकोड को base64 कोड में बदलें. हेडर के साथ-साथ सभी लाइनों को कॉपी करना न भूलें. साथ ही, कोई अतिरिक्त लाइन न जोड़ें. सार्वजनिक कुंजी फ़ाइल को 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. सार्वजनिक कुंजी अपलोड करने के लिए, 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. अपने Google Workspace डोमेन में publickey फ़ीड यूआरआई पर एचटीटीपी POST अनुरोध भेजें:

    POST https://apps-apis.google.com/a/feeds/compliance/audit/publickey/DOMAIN_NAME
    

    अगर अनुरोध पूरा हो जाता है, तो सर्वर से 201 CREATED status code और इस उदाहरण के जैसे जवाब मिलता है:

    <entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
    <id>https://apps-apis.google.com/a/feeds/compliance/audit/publickey/DOMAIN_NAME/id>/id>
    <updated>2009-04-17T15:02:45.646Z</updated>
    <link rel='self' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/publickey/DOMAIN_NAME/id'/>
    <link rel='edit' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/publickey/DOMAIN_NAME/id'/>
    <apps:property name='publicKey' value='ENCODED_KEY'/>
    </entry>
    

एक्सपोर्ट करने के लिए, मेलबॉक्स की कॉपी बनाना

किसी उपयोगकर्ता के मेलबॉक्स की कॉपी को एक्सपोर्ट और डाउनलोड करने के लिए, Email Audit API के एक्सपोर्ट फ़ीड का इस्तेमाल करें.

एक्सपोर्ट फ़ीड के यूआरआई पर POST अनुरोध भेजें और 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);

किसी मेलबॉक्स के एक्सपोर्ट होने का स्टेटस देखना

मेलबॉक्स एक्सपोर्ट की तैयारी एक असाइनी सिंक प्रोसेस है. इसलिए, यह देखने के लिए कि एन्क्रिप्ट (सुरक्षित) किए गए मेलबॉक्स की प्रोसेस पूरी हो गई है या नहीं, मेलबॉक्स वापस पाने के इस अनुरोध का इस्तेमाल करें.

एक्सपोर्ट के लिए तैयार किए गए मेलबॉक्स के स्टेटस की जानकारी पाने के लिए, एक्सपोर्ट फ़ीड के यूआरआई पर मेलबॉक्स के requestId के साथ एचटीटीपी GET अनुरोध भेजें. साथ ही, 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 ने तीन हफ़्ते के बाद मिटा दिया था.

किसी मेलबॉक्स के एक्सपोर्ट की स्थिति को वापस पाने का उदाहरण

इस उदाहरण में, उपयोगकर्ता quinn@example.com के लिए requestIds 53156 और 34201 से जुड़े मेलबॉक्स का स्टेटस दिखाया गया है.

प्रोटोकॉल

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>

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;

मेलबॉक्स की स्थिति के सभी अनुरोधों को वापस पाना

किसी खास तारीख से शुरू होने वाले डोमेन के लिए, सभी मेलबॉक्स अनुरोधों को वापस पाने के लिए, एक्सपोर्ट फ़ीड यूआरएल पर एचटीटीपी GET अनुरोध करें और 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: एन्क्रिप्ट किए गए मेलबॉक्स के अनुरोध की यूआरएल-कोड की गई तारीख, कॉर्डिनेटेड यूनिवर्सल टाइम (यूटीसी) फ़ॉर्मैट में. अगर इस GET अनुरोध में कोई fromDate नहीं दिया गया है, तो पिछले तीन हफ़्तों के सभी अनुरोध वापस पाएं.

बड़े रिस्पॉन्स के लिए, नतीजों के हर पेज पर ज़्यादा से ज़्यादा 100 एंट्री दिखती हैं. साथ ही, <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 होना चाहिए. इसके लिए, एक्सपोर्ट फ़ीड के यूआरआई पर एचटीटीपी DELETE अनुरोध करें. इसमें मेलबॉक्स का 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 का स्टेटस लगातार दिखता है, तो एक्सपोनेंशियल बैकऑफ़ के बाद फिर से कोशिश करें.

एन्क्रिप्ट किए गए मेलबॉक्स को मिटाने का उदाहरण

इस उदाहरण में, 34201 के requestId से जुड़े उपयोगकर्ता quinn@example.com का मेलबॉक्स मिटाया गया है:

प्रोटोकॉल

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