स्पेस में किसी उपयोगकर्ता या 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 में person का आईडी. उदाहरण के लिए, अगर People API person 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.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/USER', type: 'HUMAN'}}
      });
    }
    
    addUserToSpace().then(console.log);
    
  3. कोड में, इन्हें बदलें:

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

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

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

    node add-user-to-space.js
    

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

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

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

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

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

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 का एक इंस्टेंस दिखाता है, जिसमें बनाई गई सदस्यता की जानकारी होती है.