स्पेस में, उपयोगकर्ताओं और Google Chat ऐप्लिकेशन की सूची बनाना

इस गाइड में बताया गया है कि स्पेस में उपयोगकर्ताओं और Chat ऐप्लिकेशन की सूची बनाने के लिए, Google Chat API के membership संसाधन में list तरीके का इस्तेमाल कैसे करते हैं. ऐप्लिकेशन की पुष्टि करने की सुविधा वाले लिस्टिंग में, उन स्पेस की सदस्यताओं की सूची दिखती है जिनका ऐक्सेस Chat ऐप्लिकेशन के पास होता है. हालांकि, इसमें Chat ऐप्लिकेशन की सदस्यताओं और खुद की सदस्यता भी शामिल नहीं होती. उपयोगकर्ता की पुष्टि करने वाली लिस्टिंग की सदस्यताओं से, उन स्पेस की सदस्यताओं की सूची बनाई जाती है जिनका ऐक्सेस पुष्टि किए गए उपयोगकर्ता के पास है.

Membership के रिसॉर्स से पता चलता है कि किसी स्पेस में शामिल होने के लिए, किसी उपयोगकर्ता या Google Chat ऐप्लिकेशन को न्योता भेजा गया है या वह स्पेस में शामिल नहीं है.

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

Python

  • Python 3.6 या इससे नया वर्शन
  • pip पैकेज मैनेजमेंट टूल
  • Python के लिए नई Google क्लाइंट लाइब्रेरी. इन्हें इंस्टॉल या अपडेट करने के लिए, अपने कमांड-लाइन इंटरफ़ेस में इस कमांड का इस्तेमाल करें:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib google-auth
    
  • ऐसा Google Cloud प्रोजेक्ट जिसमें Google Chat API चालू हो और उसे कॉन्फ़िगर किया गया हो. तरीका जानने के लिए, Google Chat ऐप्लिकेशन बनाना देखें.
  • Chat ऐप्लिकेशन के लिए अनुमति कॉन्फ़िगर कर दी गई है. लिस्टिंग पैसे चुकाकर ली जाने वाली सदस्यताओं की सुविधा, पुष्टि करने के इन दोनों तरीकों का इस्तेमाल करती है:

पुष्टि करने वाले स्पेस में, उपयोगकर्ताओं और Chat ऐप्लिकेशन की सूची बनाएं

अगर पुष्टि किए गए उपयोगकर्ता के पास ऐसे स्पेस का ऐक्सेस है, तो उसमें उपयोगकर्ताओं और Chat ऐप्लिकेशन को शामिल करने के लिए, अपने अनुरोध में यह जानकारी दें:

इस उदाहरण में, स्पेस के ऐसे सदस्यों (स्पेस मैनेजर नहीं) की सूची दी गई है जिनकी पुष्टि हो चुकी है, क्योंकि filter को ROLE_Member पर सेट किया गया है:

Python

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

    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Define your app's authorization scopes.
    # When modifying these scopes, delete the file token.json, if it exists.
    SCOPES = ["https://www.googleapis.com/auth/chat.memberships.readonly"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then lists human space members (but not space managers) in a
        specified space.
        '''
    
        # Authenticate with Google Workspace
        # and get user authorization.
        flow = InstalledAppFlow.from_client_secrets_file(
                    'client_secrets.json', SCOPES)
        creds = flow.run_local_server()
    
        # Build a service endpoint for Chat API.
        chat = build('chat', 'v1', credentials=creds)
    
        # Use the service endpoint to call Chat API.
        result = chat.spaces().members().list(
    
            # The space for which to list memberships.
            parent = 'spaces/SPACE',
    
            # An optional filter that returns only human space members.
            filter = 'member.type = "HUMAN" AND role = "ROLE_MEMBER"'
    
        ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. कोड में, SPACE की जगह स्पेस का नाम डालें. इसे स्पेस के यूआरएल या Chat API में, spaces.list तरीके से लिया जा सकता है.

  4. अपनी वर्किंग डायरेक्ट्री में, यह सैंपल बनाएं और चलाएं:

    python3 chat_member_list_user.py
    

Google Chat API, स्पेस में मौजूद ह्यूमन स्पेस के सदस्यों (स्पेस मैनेजर को छोड़कर) और ऐप्लिकेशन के सदस्यों की सूची दिखाता है.

ऐप्लिकेशन की पुष्टि करने वाले स्पेस में, उपयोगकर्ताओं और Chat ऐप्लिकेशन की सूची बनाएं

अगर पुष्टि किए गए ऐप्लिकेशन के पास ऐसे स्पेस का ऐक्सेस है, तो उसमें उपयोगकर्ताओं और Chat ऐप्लिकेशन को शामिल करने के लिए, अपने अनुरोध में यह जानकारी दें:

इस उदाहरण में, स्पेस मैनेजर के बजाय, स्पेस मैनेजर के सदस्यों की सूची दी गई है. ये सदस्य, Chat ऐप्लिकेशन में दिखते हैं:

Python

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

    from google.oauth2 import service_account
    from apiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = (
        service_account.Credentials.from_service_account_file('credentials.json')
        .with_scopes(SCOPES)
    )
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # Use the service endpoint to call Chat API.
    result = chat.spaces().members().list(
    
            # The space for which to list memberships.
            parent = 'spaces/SPACE',
    
            # An optional filter that returns only human space members.
            filter = 'member.type = "HUMAN" AND role = "ROLE_MEMBER"'
    
        ).execute()
    
    print(result)
    
  3. कोड में, SPACE की जगह स्पेस का नाम डालें. इसे स्पेस के यूआरएल या Chat API में, spaces.list तरीके से लिया जा सकता है.

  4. अपनी वर्किंग डायरेक्ट्री में, यह सैंपल बनाएं और चलाएं:

    python3 chat_member_list_app.py
    

Google Chat API, तय किए गए स्पेस से ह्यूमन स्पेस के सदस्यों (स्पेस मैनेजर को छोड़कर) की सूची दिखाता है.

पसंद के मुताबिक पेज पर नंबर डालना या सूची को फ़िल्टर करना

सदस्यताओं को लिस्ट में शामिल करने के लिए, इन क्वेरी पैरामीटर को पास करें. ऐसा करने पर, सदस्यताओं को अपने हिसाब से क्रम में लगाया जा सकता है या फ़िल्टर किया जा सकता है.

  • pageSize: वापस की जा सकने वाली सदस्यताओं की ज़्यादा से ज़्यादा संख्या. ऐसा हो सकता है कि सेवा, इस वैल्यू से कम दिखाए. अगर कोई वैल्यू तय नहीं की गई है, तो ज़्यादा से ज़्यादा 100 स्पेस दिखेंगे. ज़्यादा से ज़्यादा वैल्यू 1,000 है. 1,000 से ज़्यादा की वैल्यू अपने-आप 1,000 में बदल जाती हैं.
  • pageToken: पेज का टोकन, जो पिछली सूची के स्पेस कॉल से मिला होता है. अगले पेज को फिर से पाने के लिए यह टोकन दें. पेज पर नंबर लगाते समय, फ़िल्टर की वैल्यू, पेज टोकन से मिले कॉल से मैच करनी चाहिए. कोई अलग वैल्यू पास करने पर, अनचाहे नतीजे मिल सकते हैं.
  • filter: क्वेरी फ़िल्टर. इसके लिए, उपयोगकर्ता की पुष्टि करना ज़रूरी है. इस्तेमाल की जा सकने वाली क्वेरी की जानकारी के लिए, spaces.members.list तरीका देखें.