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

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

खास जानकारी

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

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

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

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

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

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

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

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

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

स्मार्टवॉच के लिए अनुरोध करना

देखे जा सकने वाले हर 'एडमिन SDK के एपीआई' रिसॉर्स के लिए, यूआरआई के इस फ़ॉर्मैट में एक 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 प्रॉपर्टी स्ट्रिंग, जो आपके प्रोजेक्ट में इस नए सूचना चैनल की खास तौर पर पहचान करती है. हमारा सुझाव है कि आप एक यूनिवर्सल यूनीक आइडेंटिफ़ायर (UUID) या इससे मिलती-जुलती यूनीक स्ट्रिंग का इस्तेमाल करें. ज़्यादा से ज़्यादा 64 वर्ण इस्तेमाल किए जा सकते हैं.

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

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

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

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

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

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

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

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

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

    अगर सूचना चैनल टोकन का इस्तेमाल किया जाता है, तो हमारा सुझाव है कि:

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

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

  • expiration प्रॉपर्टी की एक स्ट्रिंग, जिसे उस तारीख और समय के यूनिक्स टाइमस्टैंप (मिलीसेकंड में) पर सेट किया गया है जब आपको Admin 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 होती है. इस चैनल से मिलने वाली हर सूचना के मैसेज नंबर, पिछले मैसेज के मैसेज नंबर से ज़्यादा होते हैं. हालांकि, मैसेज नंबर क्रम से नहीं होते.

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

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

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

सूचनाएं पाएं

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

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

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

हेडर

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

Admin SDK API के नोटिफ़िकेशन इवेंट को समझना

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

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

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

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

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

इस तरीके के लिए, आपको कम से कम चैनल की id और resourceId प्रॉपर्टी देनी होंगी, जैसा कि यहां दिए गए उदाहरण में दिखाया गया है. ध्यान दें कि अगर एडमिन 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"
}