Google Workspace की सदस्यताओं की सूची बनाएं

इस पेज पर, subscriptions.list() तरीके का इस्तेमाल करके, Google Workspace की सदस्यताओं की सूची बनाने का तरीका बताया गया है.

जब इस तरीके को उपयोगकर्ता की पुष्टि करने के साथ कॉल किया जाता है, तो यह तरीका उन सदस्यताओं की सूची दिखाता है जिन्हें उपयोगकर्ता ने अनुमति दी है. जब ऐप्लिकेशन की पुष्टि करने की सुविधा का इस्तेमाल किया जाता है, तो यह तरीका ऐसी सूची दिखा सकता है जिसमें ऐप्लिकेशन की कोई भी सदस्यता होती है.

ज़रूरी शर्तें

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
      
  • Google Workspace की सदस्यता. सदस्यता बनाने के लिए, सदस्यता बनाना देखें.

  • पुष्टि करना ज़रूरी है:

    • उपयोगकर्ता की पुष्टि करने के लिए, ऐसे स्कोप की ज़रूरत होती है जो सदस्यता के लिए, कम से कम एक इवेंट टाइप के साथ काम करता हो. किसी स्कोप की पहचान करने के लिए, इवेंट टाइप के हिसाब से स्कोप देखें.
    • ऐप्लिकेशन की पुष्टि करने के लिए, chat.bot का स्कोप होना ज़रूरी है (सिर्फ़ Google Chat ऐप्लिकेशन).

उन सदस्यताओं की सूची बनाएं जिन्हें उपयोगकर्ता ने अनुमति दी है

सदस्यताओं की सूची बनाने के लिए, आपको कम से कम एक इवेंट टाइप के हिसाब से फ़िल्टर करना होगा. अपनी क्वेरी को एक या उससे ज़्यादा टारगेट रिसॉर्स के हिसाब से भी फ़िल्टर किया जा सकता है. काम करने वाले क्वेरी फ़िल्टर के बारे में जानने के लिए, list() तरीके का दस्तावेज़ देखें.

यह कोड सैंपल, इवेंट टाइप और टारगेट रिसॉर्स के हिसाब से फ़िल्टर किए गए Subscription ऑब्जेक्ट का कलेक्शन दिखाता है. उपयोगकर्ता के तौर पर पुष्टि किए जाने पर, यह तरीका सिर्फ़ उन सदस्यताओं की सूची दिखाता है जिनके लिए उपयोगकर्ता ने ऐप्लिकेशन को बनाने की अनुमति दी है.

किसी खास इवेंट टाइप और टारगेट संसाधन के लिए सदस्यताओं की सूची बनाने के लिए:

Apps Script

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

    function listSubscriptions() {
      // Filter for event type (required).
      const eventType = 'EVENT_TYPE';
    
      // Filter for target resource (optional).
      const targetResource = 'TARGET_RESOURCE';
    
      const filter = `event_types:"${eventType}" AND target_resource="${targetResource}"`
    
      // Call the Workspace Events API using the advanced service.
      const response = WorkspaceEvents.Subscriptions.list({ filter });
      console.log(response);
    }
    

    इन्हें बदलें:

    • EVENT_TYPE: CloudEvent स्पेसिफ़िकेशन के हिसाब से फ़ॉर्मैट किया गया, इवेंट का टाइप. उदाहरण के लिए: उन सदस्यताओं को फ़िल्टर करने के लिए जिन्हें Google Chat स्पेस में, google.workspace.chat.message.v1.created की नई सदस्यताओं के बारे में इवेंट मिलते हैं.
    • TARGET_RESOURCE: एक टारगेट रिसॉर्स, जिसको संसाधन के पूरे नाम के तौर पर फ़ॉर्मैट किया गया है. उदाहरण के लिए, अगर Google Chat स्पेस के लिए सदस्यताओं के हिसाब से फ़िल्टर करना है, तो //chat.googleapis.com/spaces/SPACE_ID का इस्तेमाल करें, जहां spaces/SPACE_ID, Space संसाधन के लिए name फ़ील्ड को दिखाता है.
  2. सदस्यताओं की सूची बनाने के लिए, अपने Apps Script प्रोजेक्ट में listSubscriptions फ़ंक्शन चलाएं.

Python

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

    """List subscriptions."""
    
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['SCOPE']
    
    # 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,
    )
    
    # Filter for event type (required).
    EVENT_TYPE = 'EVENT_TYPE'
    
    # Filter for target resource (optional).
    TARGET_RESOURCE = 'TARGET_RESOURCE'
    
    FILTER = f'event_types:"{EVENT_TYPE}" AND target_resource="{TARGET_RESOURCE}"'
    response = service.subscriptions().list(filter=FILTER).execute()
    print(response)
    

    इन्हें बदलें:

    • SCOPE: एक OAuth स्कोप जो सदस्यता के कम से कम एक तरह के इवेंट के साथ काम करता है. उदाहरण के लिए, अगर आपकी सदस्यता को इवेंट के अपडेट किए गए चैट स्पेस में मिलते हैं, तो https://www.googleapis.com/auth/chat.spaces.readonly.
    • EVENT_TYPE: CloudEvent स्पेसिफ़िकेशन के हिसाब से फ़ॉर्मैट किया गया, इवेंट का टाइप. उदाहरण के लिए: उन सदस्यताओं को फ़िल्टर करने के लिए जिन्हें Google Chat स्पेस में, google.workspace.chat.message.v1.created की नई सदस्यताओं के बारे में इवेंट मिलते हैं.
    • TARGET_RESOURCE: एक टारगेट रिसॉर्स, जिसको संसाधन के पूरे नाम के तौर पर फ़ॉर्मैट किया गया है. उदाहरण के लिए, अगर Google Chat स्पेस के लिए सदस्यताओं के हिसाब से फ़िल्टर करना है, तो //chat.googleapis.com/spaces/SPACE_ID का इस्तेमाल करें, जहां spaces/SPACE_ID, Space संसाधन के लिए name फ़ील्ड को दिखाता है.
  2. पक्का करें कि आपने अपनी वर्क डायरेक्ट्री में, OAuth क्लाइंट आईडी के क्रेडेंशियल सेव किए हैं और फ़ाइल का नाम client_secrets.json रखा है. कोड सैंपल में, इस JSON फ़ाइल का इस्तेमाल Google Workspace से पुष्टि करने और उपयोगकर्ता के क्रेडेंशियल पाने के लिए किया जाता है. निर्देशों के लिए, OAuth क्लाइंट आईडी क्रेडेंशियल बनाना देखें.

  3. सदस्यताओं की सूची बनाने के लिए, अपने टर्मिनल में इन चीज़ों को चलाएं:

    python3 list_subscriptions.py
    

Google Workspace Events API, Subscription ऑब्जेक्ट की पेजों वाली कैटगरी दिखाता है, जो आपकी क्वेरी के फ़िल्टर से मेल खाती है.