गड़बड़ियां ठीक करें और Google Workspace की सदस्यता फिर से चालू करें

इस पेज पर, निलंबित की गई Google Workspace सदस्यता को फिर से चालू करने का तरीका बताया गया है. इसके लिए, गड़बड़ियों को ठीक करना या उनसे जुड़ी समस्याओं को हल करना होता है. साथ ही, subscriptions.reactivate तरीके का इस्तेमाल करना होता है.

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

निलंबित की गई सदस्यता के बारे में इन तरीकों से जाना जा सकता है:

  • आपके ऐप्लिकेशन को निलंबन के बारे में लाइफ़साइकल इवेंट मिलता है. अगर एंडपॉइंट में गड़बड़ी की वजह से आपकी सदस्यता निलंबित कर दी जाती है, तो हो सकता है कि आपको लाइफ़साइकल इवेंट न मिले.
  • subscriptions.get या subscriptions.list तरीकों का इस्तेमाल करके, यह देखा जा सकता है कि सदस्यता के state फ़ील्ड की वैल्यू SUSPENDED पर सेट है या नहीं.
  • आपको सूचना एंडपॉइंट पर डिलीवरी न हो पाने की सूचना मिलती है. Google Cloud Pub/Sub विषयों पर डिलीवरी से जुड़ी गड़बड़ियों को मॉनिटर करने के बारे में जानने के लिए, मैसेज डिलीवरी से जुड़ी गड़बड़ियों को ठीक करना लेख पढ़ें.

फिर से चालू की गई सदस्यताओं के लिए, खत्म होने की मूल तारीख बनी रहती है. सदस्यता की समयसीमा बढ़ाने के लिए, Google Workspace की सदस्यता को अपडेट या रिन्यू करना लेख पढ़ें.

Apps Script

  • Apps Script प्रोजेक्ट:
    • Apps Script से अपने-आप बनाए गए डिफ़ॉल्ट प्रोजेक्ट के बजाय, अपने Google Cloud प्रोजेक्ट का इस्तेमाल करें.
    • आपने OAuth सहमति स्क्रीन को कॉन्फ़िगर करने के लिए जो भी स्कोप जोड़े हैं उन्हें आपको अपने Apps Script प्रोजेक्ट की appsscript.json फ़ाइल में भी जोड़ना होगा. उदाहरण के लिए, अगर आपने chat.messages स्कोप तय किया है, तो यह जानकारी जोड़ें:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages"
      ]
          
    • Google Workspace Events बेहतर सेवा को चालू करें.

Python

  • Python 3.6 या इसके बाद का वर्शन
  • pip पैकेज मैनेजमेंट टूल
  • Python के लिए Google की नई क्लाइंट लाइब्रेरी. इन्हें इंस्टॉल या अपडेट करने के लिए, कमांड-लाइन इंटरफ़ेस में यह कमांड चलाएं:
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      

गड़बड़ियों की पहचान करना और उन्हें ठीक करना

किसी सदस्यता से जुड़ी गड़बड़ी का पता लगाने के लिए, सदस्यता के suspensionReason फ़ील्ड की समीक्षा करें. आपको यह फ़ील्ड तब दिखेगा, जब आपको निलंबन के बारे में लाइफ़साइकल इवेंट मिलेगा. इसके अलावा, सदस्यता के सभी फ़ील्ड की समीक्षा करने के लिए, subscriptions.get तरीके का इस्तेमाल करके भी यह फ़ील्ड देखा जा सकता है.

इस टेबल में, सदस्यता से जुड़ी संभावित गड़बड़ियों के बारे में बताया गया है. साथ ही, जहां ज़रूरी है वहां गड़बड़ियों को ठीक करने का तरीका भी बताया गया है. अगर आपसे यह गड़बड़ी ठीक नहीं हो रही है, तो सदस्यता रद्द करें या सदस्यता खत्म होने का इंतज़ार करें. Google Workspace Events API, समयसीमा खत्म हो चुकी सदस्यताओं को अपने-आप मिटा देता है.

गड़बड़ी ब्यौरा समस्या हल करने के तरीके

USER_SCOPE_REVOKED

अनुमति देने वाले उपयोगकर्ता ने, सदस्यता के लिए ज़रूरी एक या उससे ज़्यादा OAuth स्कोप की अनुमति रद्द कर दी है. कोई दूसरा ऐक्सेस टोकन पाएं. ज़्यादा जानकारी के लिए, Google ऑथराइज़ेशन सर्वर से ऐक्सेस टोकन पाना लेख पढ़ें.

RESOURCE_DELETED

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

USER_AUTHORIZATION_FAILURE

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

ENDPOINT_PERMISSION_DENIED

Google Workspace ऐप्लिकेशन के पास, आपके सूचना एंडपॉइंट पर इवेंट डिलीवर करने का ऐक्सेस नहीं है. Google Workspace ऐप्लिकेशन के सेवा खाते को इवेंट डिलीवर करने का ऐक्सेस दें.

सेवा खाते:
  • Google Chat इवेंट: chat-api-push@system.gserviceaccount.com
  • Google Drive इवेंट: drive-api-event-push@system.gserviceaccount.com
  • Google Meet इवेंट: meet-api-event-push@system.gserviceaccount.com

Pub/Sub विषयों के लिए, सेवा खाते को Pub/Sub पब्लिशर की भूमिका असाइन करें roles/pubsub.publisher) .

ENDPOINT_NOT_FOUND

सूचना एंडपॉइंट मौजूद नहीं है या उसे नहीं ढूँढा जा सका. देखें कि एंडपॉइंट अब भी चालू है और काम कर रहा है. Pub/Sub विषयों से जुड़ी समस्या हल करने के लिए, समस्या हल करने से जुड़ा दस्तावेज़ देखें.

ENDPOINT_RESOURCE_EXHAUSTED

सूचना पाने वाले एंडपॉइंट को इवेंट नहीं मिले. इसकी वजह यह है कि कोटा पूरा हो गया है या अनुरोध भेजने की संख्या के लिए तय की गई सीमा तक पहुंच गए हैं. कोटा बढ़ाने का अनुरोध करें.

APP_SCOPE_REVOKED

डोमेन एडमिन ने Chat ऐप्लिकेशन के लिए, एक या उससे ज़्यादा OAuth स्कोप के लिए दी गई अनुमति वापस ले ली है. एडमिन की मंज़ूरी मिलनी चाहिए.

APP_AUTHORIZATION_FAILURE

जिस Chat ऐप्लिकेशन ने सदस्यता बनाने की अनुमति दी थी उसके पास अब सदस्यता के टारगेट संसाधन का ऐक्सेस नहीं है. टारगेट किए गए संसाधन का ऐक्सेस वापस पाएं. उदाहरण के लिए, अगर टारगेट रिसोर्स कोई Chat स्पेस है, तो Chat ऐप्लिकेशन को स्पेस की सदस्यता की ज़रूरत पड़ सकती है.

सदस्यता फिर से चालू करना

सदस्यता निलंबित करने वाली गड़बड़ी को ठीक करने के बाद, reactivate तरीके का इस्तेमाल करके, सदस्यता को फिर से इवेंट पाने की अनुमति दी जा सकती है. इस तरीके से यह पता चलता है कि सभी गड़बड़ियां ठीक हो गई हैं. साथ ही, यह आपकी सदस्यता के state फ़ील्ड की वैल्यू को SUSPENDED से बदलकर ACTIVE कर देता है.

Google Workspace की सदस्यता को फिर से चालू करने के लिए:

Apps Script

  1. अपने Apps Script प्रोजेक्ट में, reactivateSubscription नाम की एक नई स्क्रिप्ट फ़ाइल बनाएं और उसमें यह कोड जोड़ें:

    function reactivateSubscription() {
      // The name of the subscription to reactivate.
      const name = 'subscriptions/SUBSCRIPTION_ID';
    
      // Call the Workspace Events API using the advanced service.
      const response = WorkspaceEvents.Subscriptions.reactivate({}, name);
      console.log(response);
    }
    

    इनकी जगह ये डालें:

    • SUBSCRIPTION_ID: सदस्यता का आईडी. आईडी पाने के लिए, इनमें से किसी भी तरीके का इस्तेमाल किया जा सकता है:
      • uid फ़ील्ड की वैल्यू.
      • name फ़ील्ड में दिखाए गए संसाधन का नाम. उदाहरण के लिए, अगर संसाधन का नाम subscriptions/subscription-123 है, तो subscription-123 का इस्तेमाल करें.
  2. Google Workspace की सदस्यता को फिर से चालू करने के लिए, अपने Apps Script प्रोजेक्ट में reactivateSubscription फ़ंक्शन चलाएं.

Python

  1. अपनी वर्किंग डायरेक्ट्री में, reactivate_subscription.py नाम की एक फ़ाइल बनाएं और उसमें यह कोड जोड़ें:

    """Reactivate subscription."""
    
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = [SCOPES]
    
    # Authenticate with Google Workspace and get user authentication.
    flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES)
    CREDENTIALS = flow.run_local_server()
    
    # Call the Workspace Events API using the service endpoint.
    service = build(
        'workspaceevents',
        'v1',
        credentials=CREDENTIALS,
    )
    
    NAME = 'subscriptions/SUBSCRIPTION_ID'
    response = service.subscriptions().reactivate(name=NAME).execute()
    print(response)
    

    इनकी जगह ये डालें:

    • SCOPES: एक या उससे ज़्यादा OAuth के दायरे, जो सदस्यता के लिए हर इवेंट टाइप के साथ काम करते हैं. इसे स्ट्रिंग के ऐरे के तौर पर फ़ॉर्मैट किया जाता है. एक से ज़्यादा स्कोप की सूची बनाने के लिए, उन्हें कॉमा लगाकर अलग करें. उदाहरण के लिए, 'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'.
    • SUBSCRIPTION_ID: सदस्यता का आईडी. आईडी पाने के लिए, इनमें से किसी भी तरीके का इस्तेमाल किया जा सकता है:
      • uid फ़ील्ड की वैल्यू.
      • name फ़ील्ड में दिखाए गए संसाधन का नाम. उदाहरण के लिए, अगर संसाधन का नाम subscriptions/subscription-123 है, तो subscription-123 का इस्तेमाल करें.
  2. अपनी वर्किंग डायरेक्ट्री में, पक्का करें कि आपने OAuth क्लाइंट आईडी क्रेडेंशियल सेव किए हों और फ़ाइल का नाम credentials.json रखा हो. कोड का यह सैंपल, Google Workspace से पुष्टि करने और उपयोगकर्ता के क्रेडेंशियल पाने के लिए, इस JSON फ़ाइल का इस्तेमाल करता है. निर्देशों के लिए, OAuth क्लाइंट आईडी के क्रेडेंशियल बनाना लेख पढ़ें.

  3. Google Workspace की सदस्यता को फिर से चालू करने के लिए, अपने टर्मिनल में यह कमांड चलाएं:

    python3 reactivate_subscription.py
Google Workspace Events API, ज़्यादा समय तक चलने वाली कार्रवाई दिखाता है. इसमें Subscription संसाधन का इंस्टेंस होता है.

अगर अनुरोध पूरा नहीं होता है, तो अन्य गड़बड़ियों को ठीक करने के लिए, यहां दिया गया सेक्शन देखें.

Google Chat ऐप्लिकेशन के तौर पर सदस्यता फिर से चालू करना

इस प्रोग्राम में शामिल होने पर, आपको कुछ सुविधाओं को रिलीज़ होने से पहले ही इस्तेमाल करने का ऐक्सेस मिलता है.

Chat इवेंट की सदस्यता को उपयोगकर्ता के तौर पर नहीं, बल्कि Chat ऐप्लिकेशन के तौर पर फिर से चालू किया जा सकता है. यह प्रोसेस एक जैसी है. हालांकि:

  1. उपयोगकर्ता की पुष्टि करने के बजाय, Chat ऐप्लिकेशन के तौर पर पुष्टि करें. इसके लिए, एडमिन से एक बार मंज़ूरी लेनी होगी.

  2. अनुमति के ऐसे स्कोप तय करें जिनसे Chat ऐप्लिकेशन को Chat इवेंट की सदस्यता लेने की अनुमति मिलती हो. अनुमति पाने के ये लिंक हमेशा chat.app से शुरू होते हैं. इनमें ये शामिल हैं:

    • https://www.googleapis.com/auth/chat.app.memberships: Chat स्पेस के सदस्यों के इवेंट की सदस्यता लें.
    • https://www.googleapis.com/auth/chat.app.messages.readonly: चैट स्पेस में मैसेज और रिएक्शन से जुड़े इवेंट की सूचना पाने के लिए सदस्यता लें.
    • https://www.googleapis.com/auth/chat.app.spaces: Chat स्पेस के इवेंट की सदस्यता लें.

एपीआई पासकोड बनाना

डेवलपर प्रीव्यू एपीआई के तरीके को कॉल करने के लिए, आपको एपीआई डिस्कवरी दस्तावेज़ के डेवलपर प्रीव्यू वर्शन का इस्तेमाल करना होगा. यह वर्शन सार्वजनिक नहीं होता. अनुरोध की पुष्टि करने के लिए, आपको एपीआई पासकोड डालना होगा.

एपीआई पासकोड बनाने के लिए, अपने ऐप्लिकेशन का Google Cloud प्रोजेक्ट खोलें और यह तरीका अपनाएं:

  1. Google Cloud console में, मेन्यू > एपीआई और सेवाएं > क्रेडेंशियल पर जाएं.

    क्रेडेंशियल पर जाएं

  2. क्रेडेंशियल बनाएं > एपीआई कुंजी पर क्लिक करें.
  3. आपको नई एपीआई कुंजी दिखेगी.
    • अपने ऐप्लिकेशन के कोड में इस्तेमाल करने के लिए, एपीआई पासकोड कॉपी करने के लिए, कॉपी करें पर क्लिक करें. एपीआई कुंजी, आपके प्रोजेक्ट के क्रेडेंशियल के "एपीआई कुंजियां" सेक्शन में भी देखी जा सकती है.
    • हमारा सुझाव है कि बिना अनुमति के इस्तेमाल को रोकने के लिए, यह तय करें कि एपीआई कुंजी का इस्तेमाल कहां और किन एपीआई के लिए किया जा सकता है. ज़्यादा जानकारी के लिए, एपीआई पर पाबंदियां जोड़ना लेख पढ़ें.

Google Workspace Events API को कॉल करने वाली स्क्रिप्ट लिखना

नीचे दिए गए कोड के सैंपल से, Chat ऐप्लिकेशन की Google Workspace सदस्यता को फिर से चालू किया जा सकता है:

Python

  """Reactivate subscription."""

  from google.oauth2 import service_account
  from apiclient.discovery import build

  # Specify required scopes.
  SCOPES = [SCOPES]

  # Specify service account details.
  CREDENTIALS = (
      service_account.Credentials.from_service_account_file('credentials.json')
      .with_scopes(SCOPES)
  )

  # Call the Workspace Events API using the service endpoint.
  service = build(
      'workspaceevents',
      'v1beta',
      credentials=CREDENTIALS,
      discoveryServiceUrl='https://workspaceevents.googleapis.com/$discovery/rest?version=v1beta&labels=DEVELOPER_PREVIEW&key=API_KEY',
  )

  NAME = 'subscriptions/SUBSCRIPTION_ID'
  response = service.subscriptions().reactivate(name=NAME).execute()
  print(response)

इनकी जगह ये डालें:

  • SCOPES: अनुमति पाने के ऐसे लिंक तय करें जिनसे Chat ऐप्लिकेशन को Chat इवेंट की सदस्यता लेने की अनुमति मिलती है. अनुमति पाने के ये लिंक हमेशा chat.app से शुरू होते हैं. इनमें ये शामिल हैं:

    • https://www.googleapis.com/auth/chat.app.memberships: Chat स्पेस के सदस्यों के इवेंट की सदस्यता लें.
    • https://www.googleapis.com/auth/chat.app.messages.readonly: चैट स्पेस में मैसेज और रिएक्शन से जुड़े इवेंट की सूचना पाने के लिए सदस्यता लें.
    • https://www.googleapis.com/auth/chat.app.spaces: Chat स्पेस के इवेंट की सदस्यता लें.
  • API_KEY: यह वह एपीआई पासकोड है जिसे आपने Google Workspace Events API के लिए सेवा का एंडपॉइंट बनाने के लिए बनाया था.

  • SUBSCRIPTION_ID: सदस्यता का आईडी. आईडी पाने के लिए, इनमें से किसी भी तरीके का इस्तेमाल किया जा सकता है:

    • uid फ़ील्ड की वैल्यू.
    • name फ़ील्ड में दिखाए गए संसाधन का नाम. उदाहरण के लिए, अगर संसाधन का नाम subscriptions/subscription-123 है, तो subscription-123 का इस्तेमाल करें.

एक से ज़्यादा गड़बड़ियों को ठीक करना

अगर आपने सदस्यता निलंबित करने वाली गड़बड़ी को ठीक कर दिया है और reactivate तरीका काम नहीं करता है, तो हो सकता है कि सदस्यता निलंबित होने के बाद कोई दूसरी गड़बड़ी हुई हो.

अन्य गड़बड़ियों की पहचान करने के लिए, पूरे न हो पाने वाले अनुरोध का आउटपुट देखें. आउटपुट में अब भी मौजूद गड़बड़ियां शामिल हैं.

अगर आपकी सदस्यता में एक से ज़्यादा गड़बड़ियां हैं, तो suspensionReason फ़ील्ड की वैल्यू हमेशा उस मूल गड़बड़ी का इस्तेमाल करती है जिसकी वजह से आपकी सदस्यता निलंबित की गई थी.