इस गाइड में बताया गया है कि 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 संगठन से है, तो आपको उसके ईमेल पते का इस्तेमाल करना होगा.
- People API में
person
का आईडी. उदाहरण के लिए, अगर People API
person
नीचे दिए गए उदाहरण में, एक उपयोगकर्ता को स्पेस में जोड़ा जाता है:
Python
- अपनी वर्किंग डायरेक्ट्री में,
chat_membership_user_create.py
नाम की फ़ाइल बनाएं. 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()
कोड में, इन्हें बदलें:
SPACE
: स्पेस का नाम, जिसे Chat API मेंspaces.list
तरीके से या स्पेस के यूआरएल से पाया जा सकता है.USER
: यूज़र आईडी.
अपनी वर्किंग डायरेक्ट्री में, यह सैंपल बनाएं और चलाएं:
python3 chat_membership_user_create.py
Node.js
- अपनी वर्किंग डायरेक्ट्री में,
add-user-to-space.js
नाम की एक फ़ाइल बनाएं. 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);
कोड में, इन्हें बदलें:
SPACE
: स्पेस का नाम, जिसे Chat API मेंspaces.list
तरीके से या स्पेस के यूआरएल से पाया जा सकता है.USER
: यूज़र आईडी.
अपनी वर्किंग डायरेक्ट्री में, सैंपल चलाएं:
node add-user-to-space.js
Chat API, membership
का एक इंस्टेंस दिखाता है, जिसमें बनाई गई सदस्यता की जानकारी होती है.
किसी स्पेस में Chat ऐप्लिकेशन जोड़ना
किसी Chat ऐप्लिकेशन से, किसी दूसरे ऐप्लिकेशन को स्पेस में सदस्य के तौर पर नहीं जोड़ा जा सकता. किसी स्पेस में Chat ऐप्लिकेशन जोड़ने या दो लोगों के बीच डायरेक्ट मैसेज भेजने के लिए, अपने अनुरोध में यह जानकारी दें:
chat.memberships.app
अनुमति का स्कोप बताएं.membership
संसाधन परcreate
तरीके को कॉल करें.- उस स्पेस के संसाधन के नाम पर
parent
को सेट करें जिसमें सदस्यता बनानी है. member
कोusers/app
पर सेट करें. यह ऐसा उपनाम है जो Chat API को कॉल करने वाले ऐप्लिकेशन की जानकारी देता है.
नीचे दिए गए उदाहरण में, स्पेस में चैट ऐप्लिकेशन जोड़ा गया है:
Python
- अपनी वर्किंग डायरेक्ट्री में,
chat_membership_app_create.py
नाम की फ़ाइल बनाएं. 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()
कोड में,
SPACE
की जगह स्पेस का नाम डालें. इसे स्पेस के यूआरएल या Chat API में,spaces.list
तरीके से लिया जा सकता है.अपनी वर्किंग डायरेक्ट्री में, यह सैंपल बनाएं और चलाएं:
python3 chat_membership_app_create.py
Node.js
- अपनी वर्किंग डायरेक्ट्री में,
add-app-to-space.js
नाम की एक फ़ाइल बनाएं. 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);
कोड में,
SPACE
की जगह स्पेस का नाम डालें. इसे स्पेस के यूआरएल या Chat API में,spaces.list
तरीके से लिया जा सकता है.अपनी वर्किंग डायरेक्ट्री में, सैंपल चलाएं:
node add-app-to-space.js
Chat API, membership
का एक इंस्टेंस दिखाता है, जिसमें बनाई गई सदस्यता की जानकारी होती है.
मिलते-जुलते विषय
- किसी उपयोगकर्ता या चैट ऐप्लिकेशन की सदस्यता के बारे में जानकारी पाना.
- स्पेस में सदस्यों की सूची बनाना.
- Google Chat के स्पेस में उपयोगकर्ता की सदस्यता अपडेट करना.
- किसी स्पेस से उपयोगकर्ता या Chat ऐप्लिकेशन को हटाना.