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

इस पेज पर, subscriptions.list() तरीके का इस्तेमाल करके, 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
      
  • 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: CloudEvents स्पेसिफ़िकेशन के मुताबिक फ़ॉर्मैट किया गया इवेंट टाइप. उदाहरण के लिए, 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('credentials.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 का ऐसा स्कोप है जो सदस्यता से जुड़े कम से कम एक इवेंट टाइप के साथ काम करता है. उदाहरण के लिए, अगर आपकी सदस्यता को अपडेट किए गए Chat स्पेस से इवेंट मिलते हैं, तो https://www.googleapis.com/auth/chat.spaces.readonly.
    • EVENT_TYPE: CloudEvents स्पेसिफ़िकेशन के मुताबिक फ़ॉर्मैट किया गया इवेंट टाइप. उदाहरण के लिए, 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 क्लाइंट आईडी क्रेडेंशियल सेव किए हों और फ़ाइल का नाम credentials.json रखा हो. कोड का यह सैंपल, Google Workspace से पुष्टि करने और उपयोगकर्ता के क्रेडेंशियल पाने के लिए, इस JSON फ़ाइल का इस्तेमाल करता है. निर्देशों के लिए, OAuth क्लाइंट आईडी के क्रेडेंशियल बनाना लेख पढ़ें.

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

    python3 list_subscriptions.py

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