किसी उपयोगकर्ता, Google ग्रुप या Google Chat ऐप्लिकेशन को स्पेस में जोड़ना या न्योता भेजना

इस गाइड में बताया गया है कि किसी स्पेस में किसी उपयोगकर्ता, Google ग्रुप या Chat ऐप्लिकेशन को न्योता देने या जोड़ने के लिए, Google Chat API के membership संसाधन पर create तरीके का इस्तेमाल कैसे करें. इस तरीके को सदस्यता बनाने के नाम से भी जाना जाता है. अगर किसी सदस्य ने अपने-आप स्वीकार करने की सुविधा की नीति बंद की है, तो सदस्यता बनाते समय उसे न्योता भेजा जाता है. साथ ही, शामिल होने से पहले उसे स्पेस का न्योता स्वीकार करना होगा. अगर ऐसा नहीं है, तो सदस्यता बनाने से सदस्य सीधे तौर पर बताए गए स्पेस में जुड़ जाता है.

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

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

Python

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

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

Node.js

  • Node.js और npm
  • Node.js के लिए Google की नई क्लाइंट लाइब्रेरी. उन्हें इंस्टॉल करने के लिए, अपने कमांड-लाइन इंटरफ़ेस में, यहां दिए गए कमांड को चलाएं:

    npm install @google-cloud/local-auth @googleapis/chat
    
  • ऐसा Google Cloud प्रोजेक्ट जिसमें Google Chat API चालू हो और उसे कॉन्फ़िगर किया गया हो. इसका तरीका जानने के लिए, Google Chat ऐप्लिकेशन बनाना देखें.
  • Chat ऐप्लिकेशन के लिए अनुमति देने की सेटिंग कॉन्फ़िगर की गई है. सदस्यता बनाने के लिए, chat.memberships या chat.memberships.app की अनुमति वाले दायरे के साथ उपयोगकर्ता की पुष्टि करना ज़रूरी है.

किसी उपयोगकर्ता को स्पेस में जोड़ना या न्योता भेजना

किसी उपयोगकर्ता को स्पेस में शामिल होने का न्योता देने या जोड़ने के लिए, अपने अनुरोध में यह जानकारी दें:

  • chat.memberships की अनुमति के दायरे के बारे में बताएं.
  • membership संसाधन पर create तरीके को कॉल करें.
  • parent को उस स्पेस के संसाधन नाम पर सेट करें जिसमें सदस्यता बनानी है.
  • member को users/{user} पर सेट करें, जहां {user} वह व्यक्ति है जिसके लिए आपको सदस्यता बनानी है और:
    • People API में व्यक्ति का आईडी. उदाहरण के लिए, अगर People API व्यक्ति resourceName people/123456789 है, तो membership.member.name को users/123456789 पर सेट करें.
    • डायरेक्ट्री एपीआई में उपयोगकर्ता का आईडी.
    • उपयोगकर्ता का ईमेल पता. उदाहरण के लिए, users/222larabrown@gmail.com या users/larabrown@cymbalgroup.com. अगर वह उपयोगकर्ता Google खाते का इस्तेमाल करता है या वह Google Workspace का इस्तेमाल करने वाले किसी अन्य संगठन का है, तो आपको उसके ईमेल पते का इस्तेमाल करना होगा.

यहां दिए गए उदाहरण में, किसी उपयोगकर्ता को स्पेस में जोड़ा गया है:

Python

  1. अपनी वर्किंग डायरेक्ट्री में, chat_membership_user_create.py नाम की फ़ाइल बनाएं.
  2. chat_membership_user_create.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"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then adds a user to a Chat space by creating a membership.
        '''
    
        # 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().create(
    
            # The space in which to create a membership.
            parent = 'spaces/SPACE',
    
            # Specify which user the membership is for.
            body = {
              'member': {
                'name':'users/USER',
                'type': 'HUMAN'
              }
            }
    
        ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. कोड में, इन्हें बदलें:

    • SPACE: स्पेस का नाम, जिसे Chat API में spaces.list तरीके या स्पेस के यूआरएल से लिया जा सकता है.

    • USER: यूज़र आईडी.

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

    python3 chat_membership_user_create.py
    

Node.js

  1. अपनी वर्किंग डायरेक्ट्री में, add-user-to-space.js नाम की फ़ाइल बनाएं.
  2. add-user-to-space.js में यह कोड शामिल करें:

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Adds the user to the Chat space.
    * @return {!Promise<!Object>}
    */
    async function addUserToSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.memberships',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.members.create({
        parent: 'spaces/SPACE',
        requestBody: {member: {name: 'users/USER', type: 'HUMAN'}}
      });
    }
    
    addUserToSpace().then(console.log);
    
  3. कोड में, इन्हें बदलें:

    • SPACE: स्पेस का नाम, जिसे Chat API में spaces.list तरीके या स्पेस के यूआरएल से लिया जा सकता है.

    • USER: यूज़र आईडी.

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

    node add-user-to-space.js
    

Chat API, membership का एक इंस्टेंस दिखाता है, जिसमें बनाई गई उपयोगकर्ता सदस्यता की जानकारी होती है.

किसी स्पेस में Google ग्रुप को न्योता भेजना या जोड़ना

किसी Google ग्रुप को स्पेस में शामिल होने का न्योता देने या जोड़ने के लिए, अपने अनुरोध में यह जानकारी दें:

  • chat.memberships की अनुमति के दायरे के बारे में बताएं.
  • membership संसाधन पर create तरीके को कॉल करें.
  • parent को उस स्पेस के संसाधन नाम पर सेट करें जिसमें सदस्यता बनानी है.
  • groupMember को groups/{group} पर सेट करें. यहां {group} वह ग्रुप आईडी है जिसके लिए आपको सदस्यता बनानी है. Cloud Identity API का इस्तेमाल करके, ग्रुप का आईडी वापस पाया जा सकता है. उदाहरण के लिए, अगर Cloud Identity API, groups/123456789 नाम वाले किसी ग्रुप को दिखाता है, तो membership.groupMember.name को groups/123456789 पर सेट करें.

Google Groups को किसी ग्रुप चैट या डायरेक्ट मैसेज में नहीं, बल्कि सिर्फ़ नाम वाले स्पेस में जोड़ा जा सकता है. यहां दिए गए उदाहरण में, ग्रुप को नाम वाले स्पेस में जोड़ा गया है:

Python

  1. अपनी वर्किंग डायरेक्ट्री में, chat_membership_group_create.py नाम की फ़ाइल बनाएं.
  2. chat_membership_group_create.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"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then adds a group to a Chat space by creating a membership.
        '''
    
        # 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().create(
    
            # The named space in which to create a membership.
            parent = 'spaces/SPACE',
    
            # Specify which group the membership is for.
            body = {
              'groupMember': {
                'name':'groups/GROUP',
              }
            }
    
        ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. कोड में, इन्हें बदलें:

    • SPACE: स्पेस का नाम, जिसे Chat API में spaces.list तरीके या स्पेस के यूआरएल से लिया जा सकता है.

    • GROUP: ग्रुप आईडी.

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

    python3 chat_membership_group_create.py
    

Node.js

  1. अपनी वर्किंग डायरेक्ट्री में, add-group-to-space.js नाम की फ़ाइल बनाएं.
  2. add-group-to-space.js में यह कोड शामिल करें:

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Adds the group to the Chat space.
    * @return {!Promise<!Object>}
    */
    async function addUserToSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.memberships',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.members.create({
        parent: 'spaces/SPACE',
        requestBody: {groupMember: {name: 'groups/GROUP'}}
      });
    }
    
    addUserToSpace().then(console.log);
    
  3. कोड में, इन्हें बदलें:

    • SPACE: स्पेस का नाम, जिसे Chat API में spaces.list तरीके या स्पेस के यूआरएल से लिया जा सकता है.

    • GROUP: ग्रुप आईडी.

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

    node add-group-to-space.js
    

Chat API, membership का एक इंस्टेंस दिखाता है, जिसमें ग्रुप की बनाई गई सदस्यता की जानकारी होती है.

किसी स्पेस में Chat ऐप्लिकेशन जोड़ना

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

  • chat.memberships.app की अनुमति के दायरे के बारे में बताएं.
  • membership संसाधन पर create तरीके को कॉल करें.
  • parent को उस स्पेस के संसाधन नाम पर सेट करें जिसमें सदस्यता बनानी है.
  • member को users/app पर सेट करें. यह ऐसा उपनाम है जो Chat API को कॉल करने वाले ऐप्लिकेशन को दिखाता है.

यहां दिए गए उदाहरण में, किसी स्पेस में Chat ऐप्लिकेशन को जोड़ा गया है:

Python

  1. अपनी वर्किंग डायरेक्ट्री में, chat_membership_app_create.py नाम की फ़ाइल बनाएं.
  2. chat_membership_app_create.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.app"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then adds the Chat app to a Chat 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().create(
    
            # The space in which to create a membership.
            parent = 'spaces/SPACE',
    
            # Set the Chat app as the entity that gets added to the space.
            # 'app' is an alias for the Chat app calling the API.
            body = {
                'member': {
                  'name':'users/app',
                  'type': 'BOT'
                }
            }
    
        ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. कोड में, SPACE की जगह स्पेस का नाम डालें. इसे Chat API में spaces.list तरीके या स्पेस के यूआरएल से ऐक्सेस किया जा सकता है.

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

    python3 chat_membership_app_create.py
    

Node.js

  1. अपनी वर्किंग डायरेक्ट्री में, add-app-to-space.js नाम की फ़ाइल बनाएं.
  2. add-app-to-space.js में यह कोड शामिल करें:

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Adds the app to the Chat space.
    * @return {!Promise<!Object>}
    */
    async function addAppToSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.memberships.app',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.members.create({
        parent: 'spaces/SPACE',
        requestBody: {member: {name: 'users/app', type: 'BOT'}}
      });
    }
    
    addAppToSpace().then(console.log);
    
  3. कोड में, SPACE की जगह स्पेस का नाम डालें. इसे Chat API में spaces.list तरीके या स्पेस के यूआरएल से ऐक्सेस किया जा सकता है.

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

    node add-app-to-space.js
    

Chat API, membership का एक इंस्टेंस दिखाता है, जिसमें ऐप्लिकेशन की पैसे चुकाकर ली जाने वाली सदस्यता की जानकारी होती है.