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

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

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

निलंबित की गई सदस्यता के बारे में जानकारी पाने के लिए, ये तरीके अपनाए जा सकते हैं:

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

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

Apps Script

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

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

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 Meet इवेंट के लिए, सेवा खाता meet-api-event-push@system.gserviceaccount.com है.

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

ENDPOINT_NOT_FOUND

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

ENDPOINT_RESOURCE_EXHAUSTED

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

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

सदस्यता को निलंबित करने वाली गड़बड़ी को ठीक करने के बाद, 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('client_secrets.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 क्लाइंट आईडी के क्रेडेंशियल सेव किए हैं और फ़ाइल का नाम client_secrets.json रखा है. कोड सैंपल में, इस JSON फ़ाइल का इस्तेमाल Google Workspace से पुष्टि करने और उपयोगकर्ता के क्रेडेंशियल पाने के लिए किया जाता है. निर्देशों के लिए, OAuth क्लाइंट आईडी क्रेडेंशियल बनाना देखें.

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

    python3 reactivate_subscription.py
    
Google Workspace इवेंट एपीआई, लंबे समय तक चलने वाली एक कार्रवाई दिखाता है. इसमें Subscription संसाधन का इंस्टेंस शामिल होता है.

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

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

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

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

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