একটি সরাসরি বার্তা (DM) স্থান খুঁজুন

সরাসরি বার্তা (DM) স্পেস সম্পর্কে বিশদ বিবরণ পেতে Google Chat API-এর Space রিসোর্সে findDirectMessage পদ্ধতিটি কীভাবে ব্যবহার করবেন তা এই নির্দেশিকা ব্যাখ্যা করে।

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

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

অ্যাপ প্রমাণীকরণের মাধ্যমে প্রমাণীকরণ করা হলে একটি চ্যাট অ্যাপ Google Chat-এ চ্যাট অ্যাপের অ্যাক্সেস আছে এমন DM পেতে দেয় (উদাহরণস্বরূপ, এটির সদস্য এমন DM)। ব্যবহারকারীর প্রমাণীকরণের মাধ্যমে প্রমাণীকরণ DM ফেরত দেয় যা প্রমাণীকৃত ব্যবহারকারীর অ্যাক্সেস আছে।

পূর্বশর্ত

পাইথন

  • পাইথন 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 Chat-এ সরাসরি বার্তা খুঁজতে, আপনার অনুরোধে নিম্নলিখিতগুলি পাস করুন:

  • অ্যাপ প্রমাণীকরণের সাথে, chat.bot অনুমোদনের সুযোগ নির্দিষ্ট করুন। ব্যবহারকারীর প্রমাণীকরণের সাথে, chat.spaces.readonly বা chat.spaces অনুমোদনের সুযোগ নির্দিষ্ট করুন।
  • User রিসোর্সে findDirectMessage পদ্ধতিতে কল করুন, ফিরে আসার জন্য DM-তে অন্য ব্যবহারকারীর name পাস করুন। ব্যবহারকারীর প্রমাণীকরণের সাথে, এই পদ্ধতিটি কলিং ব্যবহারকারী এবং নির্দিষ্ট ব্যবহারকারীর মধ্যে একটি DM প্রদান করে। অ্যাপ প্রমাণীকরণের সাথে, এই পদ্ধতিটি কলিং অ্যাপ এবং নির্দিষ্ট ব্যবহারকারীর মধ্যে একটি DM ফেরত দেয়।
  • একজন মানুষের ব্যবহারকারীকে স্পেস মেম্বার হিসেবে যোগ করতে, users/{user} নির্দিষ্ট করুন, যেখানে {user} হয় People API-এর person জন্য {person_id} , অথবা ডিরেক্টরি API-তে user আইডি। উদাহরণস্বরূপ, যদি People API person resourceName হয় people/123456789 , তাহলে আপনি users/123456789 এর সাথে member.name হিসাবে একটি সদস্যপদ অন্তর্ভুক্ত করে স্পেসে ব্যবহারকারীকে যুক্ত করতে পারেন।

ব্যবহারকারীর প্রমাণীকরণ সহ একটি সরাসরি বার্তা খুঁজুন

ব্যবহারকারীর প্রমাণীকরণের সাথে একটি সরাসরি বার্তা কীভাবে খুঁজে পাবেন তা এখানে:

পাইথন

  1. আপনার কাজের ডিরেক্টরিতে, chat_space_find_dm_user.py নামে একটি ফাইল তৈরি করুন।
  2. chat_space_find_dm_user.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 returns details about a specified DM.
        '''
    
        # 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().findDirectMessage(
    
              # The other user in the direct message (DM) to return.
              #
              # Replace USER with a user name.
              name='users/USER'
    
          ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. কোডে, Google চ্যাটে একজন User name সাথে USER পরিবর্তে।

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

    python3 chat_space_find_dm_user.py
    

Node.js

  1. আপনার কাজের ডিরেক্টরিতে, find-direct-message-space.js নামে একটি ফাইল তৈরি করুন।

  2. find-direct-message-space.js এ নিম্নলিখিত কোডটি অন্তর্ভুক্ত করুন:

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Find a direct message Chat space for a user.
    * @return {!Promise<!Object>}
    */
    async function findDirectMessageSpace() {
      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.findDirectMessage(
          {name: 'users/USER'});
    }
    
    findDirectMessageSpace().then(console.log);
    
  3. কোডে, Google চ্যাটে একজন User name সাথে USER পরিবর্তে।

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

    node find-direct-message-space.js
    

চ্যাট এপিআই Space একটি উদাহরণ প্রদান করে যা নির্দিষ্ট ডিএম-এর বিবরণ দেয়।

অ্যাপ প্রমাণীকরণ সহ একটি সরাসরি বার্তা খুঁজুন

অ্যাপ প্রমাণীকরণের সাথে একটি সরাসরি বার্তা কীভাবে খুঁজে পাবেন তা এখানে:

পাইথন

  1. আপনার কাজের ডিরেক্টরিতে, chat_space_find_dm_app.py নামে একটি ফাইল তৈরি করুন।
  2. chat_space_find_dm_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().findDirectMessage(
    
        # The other user in the direct message (DM) to return.
        #
        # Replace USER with a user name.
        name='users/USER'
    
    ).execute()
    
    print(result)
    
  3. কোডে, Google চ্যাটে একজন User name সাথে USER পরিবর্তে।

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

    python3 chat_space_find_dm_app.py
    

Node.js

  1. আপনার কাজের ডিরেক্টরিতে, app-find-direct-message-space.js নামে একটি ফাইল তৈরি করুন।

  2. app-find-direct-message-space.js এ নিম্নলিখিত কোডটি অন্তর্ভুক্ত করুন:

    const chat = require('@googleapis/chat');
    
    /**
    * Find a direct message Chat space for a user.
    * @return {!Promise<!Object>}
    */
    async function findDirectMessageSpace() {
      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.findDirectMessage(
          {name: 'users/USER'});
    }
    
    findDirectMessageSpace().then(console.log);
    
  3. কোডে, Google চ্যাটে একজন User name সাথে USER পরিবর্তে।

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

    node app-find-direct-message-space.js
    

চ্যাট এপিআই Space একটি উদাহরণ প্রদান করে যা নির্দিষ্ট ডিএম-এর বিবরণ দেয়।