স্পেস তালিকা

এই গাইডটি ব্যাখ্যা করে যে কীভাবে Google Chat API-এর Space রিসোর্সে list রিসোর্স ব্যবহার করে স্পেস তালিকাভুক্ত করতে হয়। স্পেস তালিকাভুক্ত করা স্থানগুলির একটি পৃষ্ঠাযুক্ত, ফিল্টারযোগ্য তালিকা প্রদান করে।

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

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

অ্যাপ প্রমাণীকরণের সাথে স্পেস তালিকাভুক্ত করা স্পেসগুলিকে তালিকাভুক্ত করে যা চ্যাট অ্যাপের অ্যাক্সেস আছে। ব্যবহারকারীর প্রমাণীকরণের সাথে স্পেসগুলি তালিকাভুক্ত করা স্পেসগুলিকে তালিকাভুক্ত করে যা প্রমাণীকৃত ব্যবহারকারীর অ্যাক্সেস রয়েছে৷

পূর্বশর্ত

পাইথন

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

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

Node.js

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

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

ব্যবহারকারীর প্রমাণীকরণ সহ স্পেস তালিকা করুন

Google চ্যাটে স্পেস তালিকাভুক্ত করতে, আপনার অনুরোধে নিম্নলিখিতগুলি পাস করুন:

নিম্নোক্ত উদাহরণ তালিকাভুক্ত স্পেস এবং গ্রুপ চ্যাট (কিন্তু সরাসরি বার্তা নয়, যা ফিল্টার করা হয়) প্রমাণীকৃত ব্যবহারকারীর কাছে দৃশ্যমান:

পাইথন

  1. আপনার কাজের ডিরেক্টরিতে, chat_space_list.py নামে একটি ফাইল তৈরি করুন।
  2. chat_space_list.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.readonly"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then lists named spaces and group chats (but not direct messages)
        visible to the authenticated user.
        '''
    
        # 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().list(
    
              # An optional filter that returns named spaces or unnamed group chats,
              # but not direct messages (DMs).
              filter='spaceType = "SPACE" OR spaceType = "GROUP_CHAT"'
    
          ).execute()
    
        # Prints the returned list of spaces.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. আপনার কাজের ডিরেক্টরিতে, নমুনা তৈরি করুন এবং চালান:

    python3 chat_space_list.py
    

Node.js

  1. আপনার কাজের ডিরেক্টরিতে, list-spaces.js নামে একটি ফাইল তৈরি করুন।
  2. list-spaces.js এ নিম্নলিখিত কোডটি অন্তর্ভুক্ত করুন:

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * List Chat spaces.
    * @return {!Promise<!Object>}
    */
    async function listSpaces() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.spaces.readonly',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.list({
        filter: 'spaceType = "SPACE" OR spaceType = "GROUP_CHAT"'
      });
    }
    
    listSpaces().then(console.log);
    
  3. আপনার কাজের ডিরেক্টরিতে, নমুনা চালান:

    node list-spaces.js
    

চ্যাট এপিআই নামযুক্ত স্পেস এবং গ্রুপ চ্যাটের একটি পেজিনেটেড অ্যারে প্রদান করে।

অ্যাপ প্রমাণীকরণ সহ স্পেস তালিকা করুন

Google চ্যাটে স্পেস তালিকাভুক্ত করতে, আপনার অনুরোধে নিম্নলিখিতগুলি পাস করুন:

নিম্নলিখিত উদাহরণে স্পেস এবং গ্রুপ চ্যাট (কিন্তু সরাসরি বার্তা নয়) নামের তালিকাগুলি চ্যাট অ্যাপে দৃশ্যমান:

পাইথন

  1. আপনার কাজের ডিরেক্টরিতে, chat_space_list_app.py নামে একটি ফাইল তৈরি করুন।
  2. chat_space_list_app.py এ নিম্নলিখিত কোডটি অন্তর্ভুক্ত করুন:

    from google.oauth2 import service_account
    from apiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = (
        service_account.Credentials.from_service_account_file('credentials.json')
        .with_scopes(SCOPES)
    )
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # Use the service endpoint to call Chat API.
    result = chat.spaces().list(
    
            # An optional filter that returns named spaces or unnamed
            # group chats, but not direct messages (DMs).
            filter='spaceType = "SPACE" OR spaceType = "GROUP_CHAT"'
    
        ).execute()
    
    print(result)
    
  3. আপনার কাজের ডিরেক্টরিতে, নমুনা তৈরি করুন এবং চালান:

    python3 chat_space_list_app.py
    

Node.js

  1. আপনার কাজের ডিরেক্টরিতে, app-list-spaces.js নামে একটি ফাইল তৈরি করুন।
  2. app-list-spaces.js এ নিম্নলিখিত কোডটি অন্তর্ভুক্ত করুন:

    const chat = require('@googleapis/chat');
    
    /**
    * List Chat spaces.
    * @return {!Promise<!Object>}
    */
    async function listSpaces() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.bot',
      ];
    
      const auth = new chat.auth.GoogleAuth({
        scopes,
        keyFilename: 'credentials.json',
      });
    
      const authClient = await auth.getClient();
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.list({
        filter: 'spaceType = "SPACE" OR spaceType = "GROUP_CHAT"'
      });
    }
    
    listSpaces().then(console.log);
    
  3. আপনার কাজের ডিরেক্টরিতে, নমুনা চালান:

    node app-list-spaces.js
    

চ্যাট এপিআই স্পেসগুলির একটি পেজিনেটেড অ্যারে প্রদান করে।

পৃষ্ঠা সংখ্যা কাস্টমাইজ করুন বা তালিকা ফিল্টার করুন

Google Chat-এ স্পেস তালিকাভুক্ত করতে, তালিকাভুক্ত স্পেসগুলির পেজিনেশন কাস্টমাইজ করতে বা ফিল্টার করতে নিম্নলিখিত ঐচ্ছিক ক্যোয়ারী প্যারামিটারগুলি পাস করুন:

  • pageSize : ফেরত দেওয়ার জন্য সর্বাধিক সংখ্যক স্পেস। পরিষেবাটি এই মানের থেকে কম ফেরত দিতে পারে। অনির্দিষ্ট থাকলে, সর্বাধিক 100টি স্থান ফেরত দেওয়া হয়। সর্বোচ্চ মান হল 1,000; 1,000-এর উপরে মানগুলি স্বয়ংক্রিয়ভাবে 1,000-এ পরিবর্তিত হয়৷
  • pageToken : একটি পৃষ্ঠা টোকেন, পূর্ববর্তী তালিকা স্পেস কল থেকে প্রাপ্ত। পরবর্তী পৃষ্ঠাটি পুনরুদ্ধার করতে এই টোকেনটি প্রদান করুন। পেজিনেট করার সময়, ফিল্টারের মানটি সেই কলের সাথে মেলে যা পৃষ্ঠা টোকেন প্রদান করে। একটি ভিন্ন মান পাস অপ্রত্যাশিত ফলাফল হতে পারে.
  • filter : একটি ক্যোয়ারী ফিল্টার। সমর্থিত ক্যোয়ারী বিশদ বিবরণের জন্য, spaces.list পদ্ধতি দেখুন।