একটি স্থান আপডেট করুন

এই গাইডটি ব্যাখ্যা করে যে কীভাবে একটি স্পেস আপডেট করতে Google Chat API-এর Space রিসোর্সে patch পদ্ধতি ব্যবহার করতে হয়। একটি স্পেস সম্পর্কে বৈশিষ্ট্য পরিবর্তন করতে একটি স্থান আপডেট করুন, যেমন তার ব্যবহারকারী-দৃশ্যমান প্রদর্শন নাম, বিবরণ এবং নির্দেশিকা।

Space রিসোর্স এমন একটি জায়গাকে প্রতিনিধিত্ব করে যেখানে লোকেরা এবং চ্যাট অ্যাপ মেসেজ পাঠাতে, ফাইল শেয়ার করতে এবং সহযোগিতা করতে পারে। বিভিন্ন ধরনের স্পেস আছে:

  • ডাইরেক্ট মেসেজ (DMs) হল দুই ব্যবহারকারী বা একজন ব্যবহারকারী এবং একটি চ্যাট অ্যাপের মধ্যে কথোপকথন।
  • গ্রুপ চ্যাট হল তিন বা ততোধিক ব্যবহারকারী এবং চ্যাট অ্যাপের মধ্যে কথোপকথন।
  • নামযুক্ত স্থানগুলি স্থায়ী স্থান যেখানে লোকেরা বার্তা পাঠায়, ফাইলগুলি ভাগ করে এবং সহযোগিতা করে৷

পূর্বশর্ত

পাইথন

  • পাইথন 3.6 বা তার বেশি
  • পাইপ প্যাকেজ ম্যানেজমেন্ট টুল
  • পাইথনের জন্য সর্বশেষ Google ক্লায়েন্ট লাইব্রেরি। এগুলি ইনস্টল বা আপডেট করতে, আপনার কমান্ড-লাইন ইন্টারফেসে নিম্নলিখিত কমান্ডটি চালান:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    
  • Google Chat API সক্ষম এবং কনফিগার করা একটি Google ক্লাউড প্রকল্প। ধাপগুলির জন্য, একটি Google Chat অ্যাপ তৈরি করুন দেখুন।
  • চ্যাট অ্যাপের জন্য অনুমোদন কনফিগার করা হয়েছে। একটি স্থান আপডেট করার জন্য chat.spaces অনুমোদনের সুযোগের সাথে ব্যবহারকারীর প্রমাণীকরণ প্রয়োজন।

Node.js

  • Node.js এবং npm
  • Node.js-এর জন্য সর্বশেষ Google ক্লায়েন্ট লাইব্রেরি। এগুলি ইনস্টল করতে, আপনার কমান্ড-লাইন ইন্টারফেসে নিম্নলিখিত কমান্ডটি চালান:

    npm install @google-cloud/local-auth @googleapis/chat
    
  • Google Chat API সক্ষম এবং কনফিগার করা একটি Google ক্লাউড প্রকল্প। ধাপগুলির জন্য, একটি Google Chat অ্যাপ তৈরি করুন দেখুন।
  • চ্যাট অ্যাপের জন্য অনুমোদন কনফিগার করা হয়েছে। একটি স্থান আপডেট করার জন্য chat.spaces অনুমোদনের সুযোগের সাথে ব্যবহারকারীর প্রমাণীকরণ প্রয়োজন।

একটি স্থান আপডেট করুন

Google Chat-এ বিদ্যমান একটি স্থান আপডেট করতে, আপনার অনুরোধে নিম্নলিখিতগুলি পাস করুন:

  • chat.spaces অনুমোদনের সুযোগ নির্দিষ্ট করুন।
  • Space রিসোর্সে patch পদ্ধতিতে কল করুন এবং আপডেট করার জন্য স্থানের name পাস করুন, সেইসাথে একটি updateMask এবং একটি body যা আপডেট করা স্থান বৈশিষ্ট্যগুলি নির্দিষ্ট করে।
  • updateMask আপডেট করার জন্য স্থানের দিকগুলি নির্দিষ্ট করে এবং নিম্নলিখিতগুলি অন্তর্ভুক্ত করে:
    • displayName : Google Chat UI-তে প্রদর্শিত স্থানের ব্যবহারকারী-পাঠযোগ্য নাম আপডেট করে। শুধুমাত্র SPACE টাইপ সহ একটি স্পেসের ডিসপ্লে নাম পরিবর্তন করা সমর্থন করে, অথবা যখন spaceType মাস্ক অন্তর্ভুক্ত করে একটি GROUP_CHAT স্পেস টাইপকে SPACE এ পরিবর্তন করতে পারে। একটি GROUP_CHAT বা একটি DIRECT_MESSAGE স্থানের প্রদর্শন নাম আপডেট করার চেষ্টা করার ফলে একটি অবৈধ আর্গুমেন্ট ত্রুটি দেখা দেয়৷
    • spaceType : স্থানের ধরন আপডেট করে, কিন্তু শুধুমাত্র একটি GROUP_CHAT স্পেস টাইপকে SPACE এ পরিবর্তন করা সমর্থন করে। আপডেট মাস্কে spaceType সাথে একসাথে displayName অন্তর্ভুক্ত করুন এবং নিশ্চিত করুন যে নির্দিষ্ট স্থানটিতে একটি অ-খালি displayName এবং SPACE স্পেস টাইপ রয়েছে। যদি বিদ্যমান স্পেসে ইতিমধ্যেই SPACE টাইপ থাকে, যেমন spaceType মাস্ক এবং SPACE টাইপ নির্দিষ্ট স্পেসে ডিসপ্লে নাম আপডেট করার সময় ঐচ্ছিক। অন্য উপায়ে স্পেস টাইপ আপডেট করার চেষ্টা করার ফলে একটি অবৈধ আর্গুমেন্ট ত্রুটি দেখা দেয়।
    • spaceDetails : বর্ণনা এবং নিয়ম সহ স্থান সম্পর্কে বিশদ বিবরণ।
    • spaceHistoryState : যদি সংস্থা ব্যবহারকারীদের তাদের ইতিহাস সেটিং পরিবর্তন করতে দেয় তবে স্থানের জন্য ইতিহাস চালু বা বন্ধ করা সমর্থন করে। অন্যান্য সমস্ত ক্ষেত্রের পথের সাথে পারস্পরিকভাবে একচেটিয়া।

একটি বিদ্যমান স্থানের স্থানের spaceDetails কীভাবে আপডেট করবেন তা এখানে রয়েছে:

পাইথন

  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 পদ্ধতি থেকে বা একটি স্পেস এর URL থেকে পেতে পারেন।

  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 পদ্ধতি থেকে বা একটি স্পেস এর URL থেকে পেতে পারেন।

  4. আপনার কাজের ডিরেক্টরিতে, নমুনা চালান:

    node update-space.js
    

Google Chat API Space রিসোর্সের একটি উদাহরণ প্রদান করে যা আপডেটগুলিকে প্রতিফলিত করে।