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

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

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

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

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

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

Apps Script

  • Apps Script प्रोजेक्ट:
    • 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 Events API, समयसीमा खत्म हो चुकी सदस्यताओं को अपने-आप मिटा देता है.

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

USER_SCOPE_REVOKED

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

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

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

    python3 reactivate_subscription.py
Google Workspace Events API, लंबे समय तक चलने वाला ऑपरेशन दिखाता है. इसमें Subscription रिसॉर्स का इंस्टेंस होता है.

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

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

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

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

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