स्पेस अपडेट करना

इस गाइड में बताया गया है कि स्पेस को अपडेट करने के लिए, Google Chat API के Space संसाधन पर patch तरीके का इस्तेमाल कैसे करना है. किसी स्पेस के बारे में एट्रिब्यूट बदलने के लिए, स्पेस को अपडेट करें. जैसे, उपयोगकर्ताओं को दिखने वाला डिसप्ले नेम, ब्यौरा, और दिशा-निर्देश.

Space रिसॉर्स ऐसी जगह दिखाता है जहां लोग और Chat ऐप्लिकेशन, मैसेज भेज सकते हैं, फ़ाइलें शेयर कर सकते हैं, और साथ मिलकर काम कर सकते हैं. स्पेस कई तरह के होते हैं:

  • डायरेक्ट मैसेज (DM) दो उपयोगकर्ताओं या एक उपयोगकर्ता और एक 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.spaces के साथ-साथ उपयोगकर्ता की पुष्टि भी की जाए.

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.spaces के साथ-साथ उपयोगकर्ता की पुष्टि भी की जाए.

स्पेस को अपडेट करना

Google Chat में किसी मौजूदा स्पेस को अपडेट करने के लिए, अपने अनुरोध में यह जानकारी दें:

  • chat.spaces अनुमति का स्कोप बताएं.
  • Space रिसॉर्स पर patch वाला तरीका कॉल करें और अपडेट करने के लिए स्पेस का name पास करें. साथ ही, updateMask और body भी पास करें, जो अपडेट किए गए स्पेस एट्रिब्यूट के बारे में बताता है.
  • updateMask में बताया जाता है कि स्पेस में किन चीज़ों को अपडेट करना है. साथ ही, इसमें ये चीज़ें भी शामिल होती हैं:
    • displayName: Google Chat के यूज़र इंटरफ़ेस (यूआई) में दिखने वाले स्पेस का नाम अपडेट करता है, जिसे उपयोगकर्ता आसानी से पढ़ सकता है. यह सुविधा सिर्फ़ SPACE टाइप वाले स्पेस के डिसप्ले नेम को बदलने की सुविधा देती है. इसके अलावा, ऐसा तब किया जा सकता है, जब spaceType मास्क शामिल करके, GROUP_CHAT स्पेस टाइप को SPACE में बदला जा सके. GROUP_CHAT या DIRECT_MESSAGE स्पेस के डिसप्ले नेम को अपडेट करने की कोशिश करने पर, अमान्य तर्क वाली गड़बड़ी दिखती है.
    • spaceType: स्पेस का टाइप अपडेट करता है. हालांकि, इसमें सिर्फ़ GROUP_CHAT स्पेस टाइप को SPACE में बदला जा सकता है. अपडेट मास्क में, spaceType के साथ displayName को शामिल करें. साथ ही, पक्का करें कि तय किए गए स्पेस में displayName और SPACE स्पेस टाइप खाली न हो. अगर मौजूदा स्पेस में पहले से ही SPACE टाइप मौजूद है, तो डिसप्ले नेम को अपडेट करते समय, spaceType मास्क और तय किए गए स्पेस में SPACE टाइप को शामिल करना ज़रूरी नहीं है . दूसरे तरीकों से स्पेस टाइप को अपडेट करने की कोशिश करने पर, अमान्य आर्ग्युमेंट की गड़बड़ी होती है.
    • spaceDetails: स्पेस का ब्यौरा, जिसमें उसका ब्यौरा और नियम शामिल हैं.
    • spaceHistoryState: अगर संगठन, उपयोगकर्ताओं को इतिहास की सेटिंग बदलने की अनुमति देता है, तो स्पेस के लिए इतिहास को चालू या बंद करने की सुविधा उपलब्ध होती है. अन्य सभी फ़ील्ड पाथ के साथ म्यूचुअली एक्सक्लूसिव.

मौजूदा स्पेस के spaceDetails को अपडेट करने का तरीका यहां बताया गया है:

Python

  1. अपनी वर्किंग डायरेक्ट्री में, chat_space_update.py नाम की एक फ़ाइल बनाएं.
  2. chat_space_update.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.spaces"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then updates the specified space description and guidelines.
        '''
    
        # 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().patch(
    
          # The space to update, and the updated space details.
          #
          # Replace {space} with a space name.
          # Obtain the space name from the spaces resource of Chat API,
          # or from a space's URL.
          name='spaces/SPACE',
          updateMask='spaceDetails',
          body={
    
            'spaceDetails': {
              'description': 'This description was updated with Chat API!',
              'guidelines': 'These guidelines were updated with Chat API!'
            }
    
          }
    
        ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. कोड में, SPACE की जगह स्पेस का नाम डालें. इसे स्पेस के यूआरएल या Chat API में, spaces.list तरीके से लिया जा सकता है.

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

    python3 chat_space_update.py
    

Node.js

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

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Updates a Chat space with the description and guidelines.
    * @return {!Promise<!Object>}
    */
    async function updateSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.spaces',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.patch({
        name: 'spaces/SPACE',
        updateMask: 'spaceDetails',
        requestBody: {
          spaceDetails: {
            description: 'This description was updated with Chat API!',
            guidelines: 'These guidelines were updated with Chat API!'
          },
        }
      });
    }
    
    updateSpace().then(console.log);
    
  3. कोड में, SPACE की जगह स्पेस का नाम डालें. इसे स्पेस के यूआरएल या Chat API में, spaces.list तरीके से लिया जा सकता है.

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

    node update-space.js
    

Google Chat API, अपडेट दिखाने वाले Space संसाधन का इंस्टेंस दिखाता है.