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

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

खास जानकारी

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    अगर किसी चैनल के लिए, कोई तय समयसीमा तय की गई है, तो इसे आपके ऐप्लिकेशन को मिलने वाली सूचना के हर मैसेज में, 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 सूचना का इस्तेमाल करके भी शुरुआत की जा सकती है.

Admin 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 में लॉग इन करते समय, उपयोगकर्ता का इंटरनेट प्रोटोकॉल (आईपी) पता होता है. इससे, उपयोगकर्ता की मौजूदा जगह की जानकारी मिल सकती है और नहीं भी. उदाहरण के लिए, आईपी पता उपयोगकर्ता के किसी प्रॉक्सी सर्वर का पता या वर्चुअल प्राइवेट नेटवर्क (VPN) पता हो सकता है. यह एपीआई 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"
}