स्पेस के सदस्यों की सूची बनाना

इस गाइड में बताया गया है कि Google Chat API के membership संसाधन पर list तरीके का इस्तेमाल करके, स्पेस में सदस्यों को पेजों में बांटी गई और फ़िल्टर की जा सकने वाली सदस्यताओं के तौर पर कैसे दिखाया जा सकता है. ऐप्लिकेशन की पुष्टि करने की सुविधा से, उन स्पेस की सदस्यताओं की सूची बन जाती है जिनका ऐक्सेस 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 ऐप्लिकेशन के लिए अनुमति देने की सेटिंग कॉन्फ़िगर की गई है. लिस्टिंग की सदस्यताएं, पुष्टि करने के इन दोनों तरीकों के साथ काम करती हैं:

उपयोगकर्ता की पुष्टि करने की सुविधा वाले स्पेस में सदस्यों की सूची बनाना

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

यहां दिए गए उदाहरण में Google ग्रुप के सदस्यों, लोगों, और ऐप्लिकेशन के ऐसे सदस्यों की सूची दी गई है जो पुष्टि किए गए उपयोगकर्ता को दिखते हैं.

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 Google Group, human, and app members 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',
    
            # Set this parameter to list Google Groups.
            showGroups = 'true'
    
        ).execute()
    
        # Prints the list of memberships.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. कोड में, SPACE की जगह स्पेस का नाम डालें. इसे Chat API में spaces.list तरीके या स्पेस के यूआरएल से ऐक्सेस किया जा सकता है.

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

    python3 chat_member_list_user.py
    

Google Chat API, किसी तय स्पेस से Google ग्रुप, लोगों, और ऐप्लिकेशन के सदस्यों की सूची दिखाता है.

ऐप्लिकेशन की पुष्टि करने की सुविधा का इस्तेमाल करके, स्पेस में सदस्यों की सूची बनाना

उपयोगकर्ताओं और 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 का तरीका देखें.