पुश नोटिफ़िकेशन

इस दस्तावेज़ में उन पुश नोटिफ़िकेशन के इस्तेमाल का तरीका बताया गया है जो किसी संसाधन में बदलाव होने पर, आपके ऐप्लिकेशन को सूचना देते हैं.

खास जानकारी

Admin SDK API, पुश नोटिफ़िकेशन की सुविधा देता है. इनकी मदद से, संसाधनों में होने वाले बदलावों पर नज़र रखी जा सकती है. इस सुविधा का इस्तेमाल करके, अपने ऐप्लिकेशन की परफ़ॉर्मेंस को बेहतर बनाया जा सकता है. इसकी मदद से, पोलिंग रिसॉर्स में हुए अतिरिक्त नेटवर्क और उसके खर्च का हिसाब लगाकर यह पता लगाया जा सकता है कि वे बदले गए हैं या नहीं. जब भी देखा गया कोई संसाधन बदला जाता है, तो 'एडमिन SDK एपीआई' आपके ऐप्लिकेशन को इसकी सूचना देता है.

पुश नोटिफ़िकेशन का इस्तेमाल करने के लिए, आपको दो काम करने होंगे:

  • पाने वाले यूआरएल या "वेबहुक" कॉलबैक रिसीवर को सेट अप करें.

    यह एक एचटीटीपीएस सर्वर है. यह उन एपीआई की सूचनाओं को मैनेज करता है जो किसी संसाधन में बदलाव होने पर ट्रिगर होते हैं.

  • हर उस रिसॉर्स एंडपॉइंट के लिए एक सूचना चैनल सेट अप करें जिसे आपको देखना है.

    चैनल, सूचना वाले मैसेज की रूटिंग की जानकारी देता है. चैनल सेटअप करते समय, आपको उस यूआरएल की पहचान करनी होगी जिस पर आपको सूचनाएं चाहिए. जब भी किसी चैनल के संसाधन में बदलाव होता है, तो 'एडमिन SDK का एपीआई' उस यूआरएल पर POST अनुरोध के तौर पर एक सूचना का मैसेज भेजता है.

फ़िलहाल, Admin SDK API, गतिविधियां संसाधन में हुए बदलावों की सूचनाएं देता है.

सूचना के चैनल बनाएं

पुश नोटिफ़िकेशन का अनुरोध करने के लिए, आपको हर उस संसाधन के लिए सूचना वाला चैनल सेट अप करना होगा जिसे आपको मॉनिटर करना है. सूचना चैनल सेट अप होने के बाद, देखे गए किसी भी संसाधन में बदलाव होने पर, Admin SDK API आपके ऐप्लिकेशन को इसकी जानकारी देता है.

वॉच के लिए अनुरोध करें

देखे जा सकने वाले हर Admin SDK API संसाधन में, यहां दिए गए फ़ॉर्म के यूआरआई पर watch तरीका जुड़ा होता है:

https://www.googleapis.com/API_NAME/API_VERSION/RESOURCE_PATH/watch

किसी खास संसाधन में हुए बदलावों के बारे में मैसेज पाने के लिए, सूचना का चैनल सेट अप करें. इसके लिए, संसाधन के लिए watch तरीके को POST अनुरोध भेजें.

सूचना का हर चैनल, किसी खास उपयोगकर्ता और किसी खास संसाधन (या संसाधनों के सेट), दोनों से जुड़ा होता है. watch का अनुरोध तब तक पूरा नहीं होगा, जब तक कि मौजूदा उपयोगकर्ता या सेवा खाते के पास इस संसाधन का मालिकाना हक न हो या उसे ऐक्सेस करने की अनुमति न हो.

उदाहरण

गतिविधियां संसाधन के लिए, देखे जाने के सभी अनुरोध के फ़ॉर्मैट सामान्य होते हैं:

POST https://admin.googleapis.com/admin/reports/v1/activity/users/userKey or all/applications/applicationName/watch
Authorization: Bearer auth_token_for_current_user
Content-Type: application/json

{
  "id": "01234567-89ab-cdef-0123456789ab", // Your channel ID.
  "type": "web_hook",
  "address": "https://mydomain.com/notifications", // Your receiving URL.
  ...
  "token": "target=myApp-myFilesChannelDest", // (Optional) Your channel token.
  "payload": true, // (Optional) Whether to include the payload (message body) in notifications.
  "expiration": 3600 // (Optional) Your requested channel expiration time.
}

सिर्फ़ खास इवेंट, उपयोगकर्ताओं या ऐप्लिकेशन की सूचनाएं पाने के लिए userKey, applicationName, eventName, और filters पैरामीटर का इस्तेमाल किया जा सकता है.

ध्यान दें: नीचे दिए गए उदाहरणों में, अनुरोध के मुख्य हिस्से को शामिल नहीं किया गया है, ताकि आसान शब्दों में पता चल सके.

एडमिन से जुड़ी सभी गतिविधियां देखें:

POST https://admin.googleapis.com/admin/reports/v1/activity/users/all/applications/admin/watch

दस्तावेज़ से जुड़ी सभी गतिविधियां देखें:

POST https://admin.googleapis.com/admin/reports/v1/activity/users/all/applications/docs/watch

किसी खास उपयोगकर्ता की एडमिन गतिविधि देखना:

POST https://admin.googleapis.com/admin/reports/v1/activity/users/liz@example.com/applications/admin/watch

किसी खास इवेंट को देखना, जैसे कि उपयोगकर्ता का पासवर्ड बदलना:

POST https://admin.googleapis.com/admin/reports/v1/activity/users/all/applications/admin/watch?eventName=CHANGE_PASSWORD

किसी खास दस्तावेज़ में हुए बदलावों के बारे में जानें:

POST https://admin.googleapis.com/admin/reports/v1/activity/users/all/applications/docs/watch?eventName=EDIT&filters==doc_id=123456abcdef

ज़रूरी प्रॉपर्टी

हर watch अनुरोध के साथ, आपको ये फ़ील्ड देने होंगे:

  • id प्रॉपर्टी स्ट्रिंग, जो आपके प्रोजेक्ट में इस नए सूचना चैनल की खास तौर पर पहचान करती है. हमारा सुझाव है कि आप यूनिवर्सल यूनीक आइडेंटिफ़ायर (यूयूआईडी) या इससे मिलती-जुलती किसी यूनीक स्ट्रिंग का इस्तेमाल करें. ज़्यादा से ज़्यादा 64 वर्ण इस्तेमाल किए जा सकते हैं.

    आपने आईडी के लिए जो वैल्यू सेट की है उसे इस चैनल के लिए मिलने वाले हर सूचना मैसेज के X-Goog-Channel-Id एचटीटीपी हेडर में फिर से दिखाया जाता है.

  • type प्रॉपर्टी स्ट्रिंग, जिसे web_hook वैल्यू पर सेट किया गया है.

  • address प्रॉपर्टी स्ट्रिंग, यूआरएल के लिए सेट होती है. यह स्ट्रिंग, सूचना देने वाले इस चैनल की सूचनाओं को सुनती है और उन पर कार्रवाई करती है. यह आपके वेबहुक कॉलबैक यूआरएल है और इसके लिए एचटीटीपीएस का इस्तेमाल करना ज़रूरी है.

    ध्यान दें कि 'एडमिन SDK का एपीआई' इस एचटीटीपीएस पते पर सिर्फ़ तब सूचनाएं भेज सकता है, जब आपके वेब सर्वर पर मान्य एसएसएल सर्टिफ़िकेट इंस्टॉल किया गया हो. अमान्य सर्टिफ़िकेट में शामिल हैं:

    • खुद हस्ताक्षर किए हुए सर्टिफ़िकेट.
    • किसी गैर-भरोसेमंद सोर्स के हस्ताक्षर किए हुए सर्टिफ़िकेट.
    • वे सर्टिफ़िकेट जो निरस्त कर दिए गए हैं.
    • ऐसे सर्टिफ़िकेट जिनका विषय, टारगेट होस्टनेम से मेल नहीं खाता.

वैकल्पिक प्रॉपर्टी

अपने watch अनुरोध के साथ भी, इन वैकल्पिक फ़ील्ड की जानकारी दी जा सकती है:

  • ऐसी token प्रॉपर्टी जो चैनल टोकन के तौर पर इस्तेमाल करने के लिए, आर्बिट्ररी स्ट्रिंग की वैल्यू के बारे में बताती है. सूचना चैनल के टोकन का इस्तेमाल, अलग-अलग कामों के लिए किया जा सकता है. उदाहरण के लिए, टोकन का इस्तेमाल करके यह पुष्टि की जा सकती है कि आने वाला हर मैसेज उस चैनल का है जिसे आपके ऐप्लिकेशन ने बनाया है. इससे यह पक्का किया जा सकता है कि सूचना को स्पूफ़ नहीं किया गया है. इसके अलावा, इस चैनल के मकसद के हिसाब से, मैसेज को अपने ऐप्लिकेशन में सही डेस्टिनेशन पर भेजा जा सकता है. ज़्यादा से ज़्यादा लंबाई: 256 वर्ण.

    इस चैनल के लिए आपके ऐप्लिकेशन को मिलने वाले हर सूचना मैसेज में, यह टोकन X-Goog-Channel-Token एचटीटीपी हेडर में शामिल होता है.

    सूचना देने वाले चैनल के टोकन का इस्तेमाल करने पर, हमारा सुझाव है कि आप:

    • कोड में बदलने के लिए इस्तेमाल किए जा सकने वाले ऐसे फ़ॉर्मैट का इस्तेमाल करें जिसे बड़ा किया जा सके, जैसे कि यूआरएल क्वेरी पैरामीटर. उदाहरण: forwardTo=hr&createdBy=mobile

    • OAuth टोकन जैसी संवेदनशील जानकारी शामिल न करें.

  • expiration प्रॉपर्टी स्ट्रिंग को उस तारीख और समय के यूनिक्स टाइमस्टैंप (मिलीसेकंड में) पर सेट किया गया है जब आपको इस सूचना चैनल के लिए, एडमिन SDK API को मैसेज भेजना बंद करना है.

    अगर किसी चैनल के लिए कोई समयसीमा तय की गई है, तो इसे X-Goog-Channel-Expiration एचटीटीपी हेडर (लोगों के पढ़ने लायक फ़ॉर्मैट में) की वैल्यू के तौर पर शामिल किया जाता है. यह वैल्यू, इस चैनल के लिए आपके ऐप्लिकेशन को मिलने वाले हर सूचना मैसेज में दी जाती है.

अनुरोध के बारे में ज़्यादा जानकारी के लिए, एपीआई रेफ़रंस में गतिविधियां संसाधन का watch तरीका देखें.

जवाब देखें

अगर watch अनुरोध एक सूचना चैनल बनाता है, तो यह एक एचटीटीपी 200 OK स्टेटस कोड दिखाता है.

घड़ी के जवाब में दिए गए मैसेज का मुख्य हिस्सा, सूचना देने वाले उस चैनल के बारे में जानकारी देता है जो आपने अभी-अभी बनाया है. इसका उदाहरण नीचे दिया गया है.

{
  "kind": "api#channel",
  "id": "reportsApiId", // ID you specified for this channel.
  "resourceId": "o3hgv1538sdjfh", // ID of the watched resource.
  "resourceUri": "https://admin.googleapis.com/admin/reports/v1/activity/userKey/applications/applicationName", // Version-specific ID of the watched resource.
  "token": "target=myApp-myFilesChannelDest", // Present only if one was provided.
  "expiration": 3600, // Actual expiration time as Unix timestamp (in ms), if applicable.
}

आपने अपने अनुरोध में जो प्रॉपर्टी भेजी थीं उनके अलावा, हमें दिखाई गई जानकारी में resourceId और resourceUri भी शामिल हैं. इनसे सूचना वाले चैनल पर देखे जा रहे संसाधन की पहचान की जा सकेगी.

वापस मिली जानकारी को, सूचना चैनल से जुड़ी दूसरी कार्रवाइयों को भेजा जा सकता है. जैसे, आपको सूचनाएं पाना बंद करना होगा.

रिस्पॉन्स के बारे में ज़्यादा जानकारी के लिए, एपीआई रेफ़रंस में गतिविधियां संसाधन का watch तरीका देखें.

मैसेज सिंक करें

किसी संसाधन को देखने के लिए सूचना का चैनल बनाने के बाद, Admin SDK API एक sync मैसेज भेजता है. इसमें बताया जाता है कि सूचनाएं मिलने वाली हैं. इन मैसेज के लिए, X-Goog-Resource-State एचटीटीपी हेडर की वैल्यू sync है. नेटवर्क टाइमिंग से जुड़ी समस्याओं की वजह से, हो सकता है कि आपको watch का रिस्पॉन्स मिलने से पहले ही sync मैसेज मिल जाए.

sync की सूचना को अनदेखा करना सुरक्षित है, लेकिन आप इसका इस्तेमाल भी कर सकते हैं. उदाहरण के लिए, अगर आपको चैनल नहीं रखना है, तो सूचनाएं पाना बंद करने के लिए, कॉल में X-Goog-Channel-ID और X-Goog-Resource-ID वैल्यू का इस्तेमाल किया जा सकता है. sync सूचना का इस्तेमाल करके, बाद के इवेंट की तैयारी शुरू की जा सकती है.

एडमिन SDK API, आपके पाने वाले यूआरएल को sync मैसेज कैसे भेजता है, इसका फ़ॉर्मैट नीचे दिखाया गया है.

POST https://mydomain.com/notifications // Your receiving URL.
X-Goog-Channel-ID: channel-ID-value
X-Goog-Channel-Token: channel-token-value
X-Goog-Channel-Expiration: expiration-date-and-time // In human-readable format. Present only if the channel expires.
X-Goog-Resource-ID: identifier-for-the-watched-resource
X-Goog-Resource-URI: version-specific-URI-of-the-watched-resource
X-Goog-Resource-State: sync
X-Goog-Message-Number: 1

सिंक किए गए मैसेज में X-Goog-Message-Number एचटीटीपी हेडर की वैल्यू हमेशा 1 होती है. इस चैनल के लिए बाद की हर सूचना में एक मैसेज नंबर होता है, जो पिछले मैसेज से ज़्यादा होता है. हालांकि, सभी मैसेज एक क्रम में नहीं मिलेंगे.

सूचना चैनलों को रिन्यू करें

सूचना वाले चैनल के खत्म होने की समयसीमा, आपके अनुरोध से तय की जा सकती है. इसमें, एडमिन SDK API की अंदरूनी सीमाएं या डिफ़ॉल्ट वैल्यू (ज़्यादा पाबंदी वाली वैल्यू का इस्तेमाल किया जाता है) भी हो सकती है. अगर चैनल के खत्म होने की तारीख बताई गई है, तो उसकी समयसीमा खत्म होने की अवधि को यूनिक्स टाइमस्टैंप (मिलीसेकंड में) के तौर पर दिखाया जाता है. यह जानकारी, watch तरीके से मिली जानकारी में दिखती है. साथ ही, इस चैनल के लिए आपके ऐप्लिकेशन को मिलने वाले हर सूचना मैसेज में, X-Goog-Channel-Expiration एचटीटीपी हेडर में, समयसीमा खत्म होने की तारीख और समय शामिल किया जाता है, जिसे लोग आसानी से पढ़ सकते हैं.

फ़िलहाल, सूचना देने वाले चैनल को अपने-आप रिन्यू करने का कोई तरीका नहीं है. जब किसी चैनल की समयसीमा खत्म होने वाली होती है, तो आपको उसे किसी नए चैनल से बदलना होगा. इसके लिए, watch तरीके का इस्तेमाल करें. हमेशा की तरह, आपको नए चैनल की id प्रॉपर्टी के लिए, यूनीक वैल्यू का इस्तेमाल करना होगा. ध्यान दें, जब एक ही संसाधन के लिए सूचना देने वाले दो चैनल चालू होते हैं, तब हो सकता है कि कुछ समय के लिए "ओवरलैप" हो जाए.

सूचनाएं पाएं

जब भी देखा गया कोई संसाधन बदलता है, तो आपके ऐप्लिकेशन को बदलाव के बारे में बताने वाला सूचना वाला मैसेज मिलता है. Admin SDK API, इन मैसेज को एचटीटीपीएस POST अनुरोधों के तौर पर, उस यूआरएल पर भेजता है जिसे आपने इस सूचना चैनल के लिए, address प्रॉपर्टी के तौर पर बताया है.

सूचना के मैसेज के फ़ॉर्मैट को समझें

सभी सूचना मैसेज में, एचटीटीपी हेडर का एक सेट होता है. इस सेट में X-Goog- प्रीफ़िक्स होते हैं. कुछ खास तरह की सूचनाओं में मैसेज का मुख्य हिस्सा भी शामिल हो सकता है.

हेडर

एडमिन SDK API की ओर से आपको भेजे जाने वाले यूआरएल पर जो सूचना मैसेज पोस्ट किए जाते हैं उनमें ये एचटीटीपी हेडर शामिल होते हैं:

हेडर ब्यौरा
हमेशा मौजूद रहें
X-Goog-Channel-ID इस सूचना चैनल की पहचान के लिए, आपने यूयूआईडी या दूसरी यूनीक स्ट्रिंग दी.
X-Goog-Message-Number वह पूर्णांक जो इस सूचना चैनल के लिए इस मैसेज की पहचान करता है. sync मैसेज के लिए वैल्यू हमेशा 1 होती है. चैनल पर हर मैसेज के लिए, मैसेज की संख्या बढ़ जाती है. हालांकि, ये एक क्रम में नहीं होतीं.
X-Goog-Resource-ID देखे गए संसाधन की पहचान करने वाली ओपेक वैल्यू. यह आईडी, एपीआई के सभी वर्शन में एक जैसा रहता है.
X-Goog-Resource-State संसाधन की नई स्थिति, जिससे सूचना ट्रिगर हुई. संभावित वैल्यू: sync या कोई इवेंट का नाम.
X-Goog-Resource-URI देखे गए संसाधन के लिए, एपीआई वर्शन के हिसाब से आइडेंटिफ़ायर.
कभी-कभी ये मौजूद होते हैं
X-Goog-Channel-Expiration सूचना चैनल की समयसीमा खत्म होने की तारीख और समय. इसकी जानकारी इस फ़ॉर्मैट में दी गई हो, जिसे लोग आसानी से पढ़ सकें. यह जानकारी सिर्फ़ तब मौजूद होती है, जब उसके बारे में बताया गया हो.
X-Goog-Channel-Token सूचना वाले चैनल का टोकन, जिसे आपके ऐप्लिकेशन ने सेट किया था. साथ ही, इसका इस्तेमाल सूचना के सोर्स की पुष्टि करने के लिए किया जा सकता है. यह जानकारी तब ही मौजूद होती है, जब इनके बारे में बताया गया हो.

गतिविधियों के सूचना मैसेज में, अनुरोध के मुख्य हिस्से में यह जानकारी शामिल होती है:

प्रॉपर्टी ब्यौरा
kind यह गतिविधि संसाधन के तौर पर इसकी पहचान करता है. वैल्यू: तय स्ट्रिंग "admin#reports#activity".
id गतिविधि के रिकॉर्ड का यूनीक आइडेंटिफ़ायर.
id.time गतिविधि होने का समय. वैल्यू, ISO 8601 तारीख और समय के फ़ॉर्मैट में है. समय YYYY-MM-DDThh:mm:ssTZD के रूप में पूरी तारीख के साथ घंटे, मिनट, और सेकंड है. उदाहरण के लिए, 2010-04-05T17:30:04+01:00.
id.uniqueQualifier एक से ज़्यादा इवेंट का समय एक ही होने पर यूनीक क्वालीफ़ायर.
id.applicationName वह ऐप्लिकेशन नाम जिससे इवेंट जुड़ा है. इनमें से कोई भी वैल्यू डाली जा सकती है:
id.customerId Google Workspace खाते के लिए यूनीक आइडेंटिफ़ायर.
actor उपयोगकर्ता कार्रवाई कर रहा है.
actor.callerType रिपोर्ट में बताई गई गतिविधि करने वाले लेखक का टाइप. एपीआई के इस वर्शन में, callerType, USER या OAuth 2LO की इकाई का वह अनुरोध है जिसने रिपोर्ट में बताई गई कार्रवाई को पूरा किया है .
actor.email उस उपयोगकर्ता का मुख्य ईमेल पता जिसकी गतिविधियों की रिपोर्ट की जा रही है.
actor.profileId उपयोगकर्ता का Google Workspace प्रोफ़ाइल का यूनीक आईडी.
ownerDomain Admin console या Docs ऐप्लिकेशन के दस्तावेज़ के मालिक का डोमेन. इस डोमेन पर रिपोर्ट के इवेंट से असर पड़ता है.
ipAddress कार्रवाई करने वाले उपयोगकर्ता का आईपी पता. यह Google Workspace में लॉग इन करते समय, उपयोगकर्ता का इंटरनेट प्रोटोकॉल (आईपी) पता होता है. यह उपयोगकर्ता की मौजूदा जगह की जानकारी दे सकता है और नहीं भी. उदाहरण के लिए, आईपी पता उपयोगकर्ता के प्रॉक्सी सर्वर का पता या वर्चुअल प्राइवेट नेटवर्क (वीपीएन) पता हो सकता है. यह एपीआई, IPv4 और IPv6 के साथ काम करता है.
events[] रिपोर्ट में गतिविधि से जुड़े इवेंट.
events[].type इवेंट का टाइप. Google Workspace की जिस सेवा या सुविधा में कोई एडमिन बदलाव करता है उसकी पहचान type प्रॉपर्टी में की जाती है. यह प्रॉपर्टी, eventName प्रॉपर्टी का इस्तेमाल करके किसी इवेंट की पहचान करती है.
events[].name इवेंट का नाम. यह उस गतिविधि का खास नाम है जिसे एपीआई ने रिपोर्ट किया है. हर eventName, Google Workspace की किसी खास सेवा या सुविधा से जुड़ा है. यह एपीआई, अलग-अलग इवेंट के हिसाब से इसे व्यवस्थित करता है.
eventName अनुरोध पैरामीटर के लिए, आम तौर पर:
  • अगर eventName नहीं दिया गया है, तो रिपोर्ट eventName के सभी संभावित इंस्टेंस दिखाती है.
  • eventName का अनुरोध करने पर, एपीआई का रिस्पॉन्स उन सभी गतिविधियों को दिखाता है जिनमें eventName शामिल है. यह हो सकता है कि दिखाई गई गतिविधियों में, अनुरोध की गई प्रॉपर्टी के अलावा eventName की अन्य प्रॉपर्टी भी हों.
events[].parameters[] अलग-अलग ऐप्लिकेशन के लिए पैरामीटर वैल्यू पेयर.
events[].parameters[].name पैरामीटर का नाम.
events[].parameters[].value पैरामीटर की स्ट्रिंग वैल्यू.
events[].parameters[].intValue पैरामीटर की इंटिज़र वैल्यू.
events[].parameters[].boolValue पैरामीटर की बूलियन वैल्यू.

उदाहरण

गतिविधि संसाधन इवेंट के लिए सूचना मैसेज का सामान्य फ़ॉर्म होता है:

POST https://mydomain.com/notifications // Your receiving URL.
Content-Type: application/json; utf-8
Content-Length: 0
X-Goog-Channel-ID: reportsApiId
X-Goog-Channel-Token: 398348u3tu83ut8uu38
X-Goog-Channel-Expiration: Tue, 29 Oct 2013 20:32:02 GMT
X-Goog-Resource-ID:  ret08u3rv24htgh289g
X-Goog-Resource-URI: https://admin.googleapis.com/admin/reports/v1/activity/userKey/applications/applicationName
X-Goog-Resource-State:  eventName
X-Goog-Message-Number: 10

{
  "kind": "admin#reports#activity",
  "id": {
    "time": datetime,
    "uniqueQualifier": long,
    "applicationName": string,
    "customerId": string
  },
  "actor": {
    "callerType": string,
    "email": string,
    "profileId": long
  },
  "ownerDomain": string,
  "ipAddress": string,
  "events": [
    {
      "type": string,
      "name": string,
      "parameters": [
        {
          "name": string,
          "value": string,
          "intValue": long,
          "boolValue": boolean
        }
      ]
    }
  ]
}

एडमिन की गतिविधि वाले इवेंट का उदाहरण:

POST https://mydomain.com/notifications // Your receiving URL.
Content-Type: application/json; utf-8
Content-Length: 596
X-Goog-Channel-ID: reportsApiId
X-Goog-Channel-Token: 245t1234tt83trrt333
X-Goog-Channel-Expiration: Tue, 29 Oct 2013 20:32:02 GMT
X-Goog-Resource-ID:  ret987df98743md8g
X-Goog-Resource-URI: https://admin.googleapis.com/admin/reports/v1/activity/users/all/applications/admin?alt=json
X-Goog-Resource-State:  CREATE_USER
X-Goog-Message-Number: 23

{
  "kind": "admin#reports#activity",
  "id": {
    "time": "2013-09-10T18:23:35.808Z",
    "uniqueQualifier": "-0987654321",
    "applicationName": "admin",
    "customerId": "ABCD012345"
  },
  "actor": {
    "callerType": "USER",
    "email": "admin@example.com",
    "profileId": "0123456789987654321"
  },
  "ownerDomain": "apps-reporting.example.com",
  "ipAddress": "192.0.2.0",
  "events": [
    {
      "type": "USER_SETTINGS",
      "name": "CREATE_USER",
      "parameters": [
        {
          "name": "USER_EMAIL",
          "value": "liz@example.com"
        }
      ]
    }
  ]
}

सूचनाओं का उत्तर दें

सफलता की जानकारी देने के लिए, इनमें से किसी भी स्टेटस कोड को लौटाया जा सकता है: 200, 201, 202, 204 या 102.

अगर आपकी सेवा Google की एपीआई क्लाइंट लाइब्रेरी का इस्तेमाल करती है और 500,502, 503 या 504 दिखाती है, तो 'एडमिन SDK का एपीआई' एक्स्पोनेंशियल बैकऑफ़ के साथ फिर से कोशिश करता है. आइटम लौटाने के हर दूसरे स्टेटस कोड को मैसेज की असफलता माना जाता है.

Admin SDK API के सूचना इवेंट को समझना

इस सेक्शन में उन सूचना मैसेज के बारे में जानकारी दी गई है जो Admin SDK API के साथ पुश नोटिफ़िकेशन का इस्तेमाल करने पर आपको मिल सकते हैं.

रिपोर्ट एपीआई पुश नोटिफ़िकेशन में दो तरह के मैसेज होते हैं: मैसेज सिंक करें और इवेंट की सूचनाएं. मैसेज के टाइप की जानकारी X-Goog-Resource-State एचटीटीपी हेडर में दी गई है. इवेंट की सूचनाओं के लिए, संभावित वैल्यू वही हैं जो activities.list वाले तरीके के लिए दी गई हैं. हर ऐप्लिकेशन के इवेंट खास होते हैं:

सूचनाएं पाने की सुविधा बंद करें

expiration प्रॉपर्टी यह कंट्रोल करती है कि सूचनाएं कब अपने-आप बंद हों. नीचे दिए गए यूआरआई पर stop तरीके को कॉल करके, चैनल की समयसीमा खत्म होने से पहले उसके लिए सूचनाएं पाना बंद किया जा सकता है:

https://www.googleapis.com/admin/reports_v1/channels/stop

इस तरीके के लिए, आपको कम से कम चैनल की id और resourceId प्रॉपर्टी की जानकारी देनी होगी, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है. ध्यान रखें कि अगर Admin SDK API में ऐसे कई तरह के संसाधन हैं जिनमें watch तरीके हैं, तो stop का सिर्फ़ एक तरीका होता है.

सिर्फ़ ज़रूरी अनुमति वाले लोग ही चैनल को रोक सकते हैं. खास तौर पर:

  • अगर चैनल किसी सामान्य उपयोगकर्ता खाते से बनाया गया था, तो उसी क्लाइंट का सिर्फ़ वही उपयोगकर्ता चैनल को रोक सकता है जिसने चैनल बनाने की पुष्टि करने वाले टोकन के OAuth 2.0 क्लाइंट आईडी से पता लगाया है.
  • अगर चैनल किसी सेवा खाते से बनाया गया था, तो उसी क्लाइंट का कोई भी उपयोगकर्ता चैनल को बंद कर सकता है.

नीचे दिया गया कोड सैंपल, सूचनाएं पाने की सुविधा बंद करने का तरीका बताता है:

POST https://www.googleapis.com/admin/reports_v1/channels/stop
  
Authorization: Bearer CURRENT_USER_AUTH_TOKEN
Content-Type: application/json

{
  "id": "4ba78bf0-6a47-11e2-bcfd-0800200c9a66",
  "resourceId": "ret08u3rv24htgh289g"
}