উন্নত চ্যাট পরিষেবা

অ্যাডভান্সড চ্যাট পরিষেবা আপনাকে অ্যাপস স্ক্রিপ্টে Google Chat API ব্যবহার করতে দেয়। এই API স্ক্রিপ্টগুলিকে চ্যাট স্পেসগুলি খুঁজে বের করতে, তৈরি করতে এবং সংশোধন করতে, স্পেসগুলিতে সদস্যদের যোগ বা সরাতে এবং পাঠ্য, কার্ড, সংযুক্তি এবং প্রতিক্রিয়া সহ বার্তাগুলি পড়তে বা পোস্ট করতে দেয়৷

পূর্বশর্ত

রেফারেন্স

এই পরিষেবা সম্পর্কে আরও তথ্যের জন্য, চ্যাট API রেফারেন্স ডকুমেন্টেশন দেখুন। অ্যাপস স্ক্রিপ্টের সমস্ত উন্নত পরিষেবাগুলির মতো, চ্যাট পরিষেবাটি পাবলিক API হিসাবে একই বস্তু, পদ্ধতি এবং পরামিতিগুলি ব্যবহার করে৷

নমুনা কোড

এই নমুনাগুলি আপনাকে দেখায় কিভাবে উন্নত পরিষেবা ব্যবহার করে সাধারণ Google Chat API অ্যাকশনগুলি সম্পাদন করতে হয়।

ব্যবহারকারীর শংসাপত্র সহ একটি বার্তা পোস্ট করুন

নিম্নলিখিত উদাহরণটি প্রদর্শন করে যে কীভাবে ব্যবহারকারীর পক্ষে একটি চ্যাট স্পেসে একটি বার্তা পোস্ট করতে হয়।

  1. Apps Script প্রকল্পের appsscript.json ফাইলে chat.messages.create অনুমোদনের সুযোগ যোগ করুন:

    "oauthScopes": [
      "https://www.googleapis.com/auth/chat.messages.create"
    ]
    
  2. অ্যাপস স্ক্রিপ্ট প্রকল্পের কোডে এইরকম একটি ফাংশন যোগ করুন:

    উন্নত/chat.gs
    /**
     * Posts a new message to the specified space on behalf of the user.
     * @param {string} spaceName The resource name of the space.
     */
    function postMessageWithUserCredentials(spaceName) {
      try {
        const message = {'text': 'Hello world!'};
        Chat.Spaces.Messages.create(message, spaceName);
      } catch (err) {
        // TODO (developer) - Handle exception
        console.log('Failed to create message with error %s', err.message);
      }
    }

অ্যাপের শংসাপত্র সহ একটি বার্তা পোস্ট করুন

নিম্নলিখিত উদাহরণটি দেখায় যে কীভাবে অ্যাপের হয়ে চ্যাট স্পেসে একটি বার্তা পোস্ট করতে হয়। একটি পরিষেবা অ্যাকাউন্টের সাথে উন্নত চ্যাট পরিষেবা ব্যবহার করার জন্য আপনাকে appsscript.json এ অনুমোদনের সুযোগ নির্দিষ্ট করতে হবে না। পরিষেবা অ্যাকাউন্টগুলির সাথে প্রমাণীকরণ সম্পর্কে বিশদ বিবরণের জন্য, একটি Google চ্যাট অ্যাপ হিসাবে প্রমাণীকরণ দেখুন৷

উন্নত/chat.gs
/**
 * Posts a new message to the specified space on behalf of the app.
 * @param {string} spaceName The resource name of the space.
 */
function postMessageWithAppCredentials(spaceName) {
  try {
    // See https://developers.google.com/chat/api/guides/auth/service-accounts
    // for details on how to obtain a service account OAuth token.
    const appToken = getToken_();
    const message = {'text': 'Hello world!'};
    Chat.Spaces.Messages.create(
        message,
        spaceName,
        {},
        // Authenticate with the service account token.
        {'Authorization': 'Bearer ' + appToken});
  } catch (err) {
    // TODO (developer) - Handle exception
    console.log('Failed to create message with error %s', err.message);
  }
}

একটি স্থান পান

নিচের উদাহরণটি দেখায় কিভাবে একটি চ্যাট স্পেস সম্পর্কে তথ্য পেতে হয়।

  1. Apps Script প্রকল্পের appsscript.json ফাইলে chat.spaces.readonly অনুমোদনের সুযোগ যোগ করুন:

    "oauthScopes": [
      "https://www.googleapis.com/auth/chat.spaces.readonly"
    ]
    
  2. অ্যাপস স্ক্রিপ্ট প্রকল্পের কোডে এইরকম একটি ফাংশন যোগ করুন:

    উন্নত/chat.gs
    /**
     * Gets information about a Chat space.
     * @param {string} spaceName The resource name of the space.
     */
    function getSpace(spaceName) {
      try {
        const space = Chat.Spaces.get(spaceName);
        console.log('Space display name: %s', space.displayName);
        console.log('Space type: %s', space.spaceType);
      } catch (err) {
        // TODO (developer) - Handle exception
        console.log('Failed to get space with error %s', err.message);
      }
    }

একটি স্থান তৈরি করুন

নিম্নলিখিত উদাহরণটি দেখায় কিভাবে একটি চ্যাট স্পেস তৈরি করতে হয়।

  1. Apps Script প্রকল্পের appsscript.json ফাইলে chat.spaces.create অনুমোদনের সুযোগ যোগ করুন:

    "oauthScopes": [
      "https://www.googleapis.com/auth/chat.spaces.create"
    ]
    
  2. অ্যাপস স্ক্রিপ্ট প্রকল্পের কোডে এইরকম একটি ফাংশন যোগ করুন:

    উন্নত/chat.gs
    /**
     * Creates a new Chat space.
     */
    function createSpace() {
      try {
        const space = {'displayName': 'New Space', 'spaceType': 'SPACE'};
        Chat.Spaces.create(space);
      } catch (err) {
        // TODO (developer) - Handle exception
        console.log('Failed to create space with error %s', err.message);
      }
    }

সদস্যপদ তালিকা

নিম্নলিখিত উদাহরণটি দেখায় কিভাবে একটি চ্যাট স্পেসের সমস্ত সদস্যকে তালিকাভুক্ত করতে হয়।

  1. Apps Script প্রকল্পের appsscript.json ফাইলে chat.memberships.readonly অনুমোদনের সুযোগ যোগ করুন:

    "oauthScopes": [
      "https://www.googleapis.com/auth/chat.memberships.readonly"
    ]
    
  2. অ্যাপস স্ক্রিপ্ট প্রকল্পের কোডে এইরকম একটি ফাংশন যোগ করুন:

    উন্নত/chat.gs
    /**
     * Lists all the members of a Chat space.
     * @param {string} spaceName The resource name of the space.
     */
    function listMemberships(spaceName) {
      let response;
      let pageToken = null;
      try {
        do {
          response = Chat.Spaces.Members.list(spaceName, {
            pageSize: 10,
            pageToken: pageToken
          });
          if (!response.memberships || response.memberships.length === 0) {
            pageToken = response.nextPageToken;
            continue;
          }
          response.memberships.forEach((membership) => console.log(
              'Member resource name: %s (type: %s)',
              membership.name,
              membership.member.type));
          pageToken = response.nextPageToken;
        } while (pageToken);
      } catch (err) {
        // TODO (developer) - Handle exception
        console.log('Failed with error %s', err.message);
      }
    }

সমস্যা সমাধান

আপনি যদি Error 400: invalid_scope ত্রুটি বার্তার সম্মুখীন হন Some requested scopes cannot be shown , এর মানে আপনি Apps Script প্রকল্পের appsscript.json ফাইলে কোনো অনুমোদনের সুযোগ নির্দিষ্ট করেননি। বেশিরভাগ ক্ষেত্রে, অ্যাপস স্ক্রিপ্ট স্বয়ংক্রিয়ভাবে নির্ধারণ করে যে কোন স্ক্রিপ্টের কোন স্কোপের প্রয়োজন, কিন্তু আপনি যখন চ্যাট উন্নত পরিষেবা ব্যবহার করেন, তখন আপনাকে অবশ্যই ম্যানুয়ালি অনুমোদনের সুযোগ যোগ করতে হবে যা আপনার স্ক্রিপ্ট আপনার অ্যাপস স্ক্রিপ্ট প্রকল্পের ম্যানিফেস্ট ফাইলে ব্যবহার করে। সুস্পষ্ট স্কোপ সেট করা দেখুন।

ত্রুটিটি সমাধান করতে, oauthScopes অ্যারের অংশ হিসাবে Apps Script প্রকল্পের appsscript.json ফাইলে যথাযথ অনুমোদনের সুযোগ যোগ করুন। উদাহরণস্বরূপ, spaces.messages.create পদ্ধতিতে কল করতে, নিম্নলিখিত যোগ করুন:

"oauthScopes": [
  "https://www.googleapis.com/auth/chat.messages.create"
]

সীমা এবং বিবেচনা

উন্নত চ্যাট পরিষেবা সমর্থন করে না:

একটি বার্তা সংযুক্তি ডাউনলোড করতে বা একটি বিকাশকারী পূর্বরূপ পদ্ধতিতে কল করতে, পরিবর্তে UrlFetchApp ব্যবহার করুন৷

,

অ্যাডভান্সড চ্যাট পরিষেবা আপনাকে অ্যাপস স্ক্রিপ্টে Google Chat API ব্যবহার করতে দেয়। এই API স্ক্রিপ্টগুলিকে চ্যাট স্পেসগুলি খুঁজে বের করতে, তৈরি করতে এবং সংশোধন করতে, স্পেসগুলিতে সদস্যদের যোগ বা সরাতে এবং পাঠ্য, কার্ড, সংযুক্তি এবং প্রতিক্রিয়া সহ বার্তাগুলি পড়তে বা পোস্ট করতে দেয়৷

পূর্বশর্ত

রেফারেন্স

এই পরিষেবা সম্পর্কে আরও তথ্যের জন্য, চ্যাট API রেফারেন্স ডকুমেন্টেশন দেখুন। অ্যাপস স্ক্রিপ্টের সমস্ত উন্নত পরিষেবাগুলির মতো, চ্যাট পরিষেবাটি পাবলিক API হিসাবে একই বস্তু, পদ্ধতি এবং পরামিতিগুলি ব্যবহার করে৷

নমুনা কোড

এই নমুনাগুলি আপনাকে দেখায় কিভাবে উন্নত পরিষেবা ব্যবহার করে সাধারণ Google Chat API অ্যাকশনগুলি সম্পাদন করতে হয়।

ব্যবহারকারীর শংসাপত্র সহ একটি বার্তা পোস্ট করুন

নিম্নলিখিত উদাহরণটি প্রদর্শন করে যে কীভাবে ব্যবহারকারীর পক্ষে একটি চ্যাট স্পেসে একটি বার্তা পোস্ট করতে হয়।

  1. Apps Script প্রকল্পের appsscript.json ফাইলে chat.messages.create অনুমোদনের সুযোগ যোগ করুন:

    "oauthScopes": [
      "https://www.googleapis.com/auth/chat.messages.create"
    ]
    
  2. অ্যাপস স্ক্রিপ্ট প্রকল্পের কোডে এইরকম একটি ফাংশন যোগ করুন:

    উন্নত/chat.gs
    /**
     * Posts a new message to the specified space on behalf of the user.
     * @param {string} spaceName The resource name of the space.
     */
    function postMessageWithUserCredentials(spaceName) {
      try {
        const message = {'text': 'Hello world!'};
        Chat.Spaces.Messages.create(message, spaceName);
      } catch (err) {
        // TODO (developer) - Handle exception
        console.log('Failed to create message with error %s', err.message);
      }
    }

অ্যাপের শংসাপত্র সহ একটি বার্তা পোস্ট করুন

নিম্নলিখিত উদাহরণটি দেখায় যে কীভাবে অ্যাপের হয়ে চ্যাট স্পেসে একটি বার্তা পোস্ট করতে হয়। একটি পরিষেবা অ্যাকাউন্টের সাথে উন্নত চ্যাট পরিষেবা ব্যবহার করার জন্য আপনাকে appsscript.json এ অনুমোদনের সুযোগ নির্দিষ্ট করতে হবে না। পরিষেবা অ্যাকাউন্টগুলির সাথে প্রমাণীকরণ সম্পর্কে বিশদ বিবরণের জন্য, একটি Google চ্যাট অ্যাপ হিসাবে প্রমাণীকরণ দেখুন৷

উন্নত/chat.gs
/**
 * Posts a new message to the specified space on behalf of the app.
 * @param {string} spaceName The resource name of the space.
 */
function postMessageWithAppCredentials(spaceName) {
  try {
    // See https://developers.google.com/chat/api/guides/auth/service-accounts
    // for details on how to obtain a service account OAuth token.
    const appToken = getToken_();
    const message = {'text': 'Hello world!'};
    Chat.Spaces.Messages.create(
        message,
        spaceName,
        {},
        // Authenticate with the service account token.
        {'Authorization': 'Bearer ' + appToken});
  } catch (err) {
    // TODO (developer) - Handle exception
    console.log('Failed to create message with error %s', err.message);
  }
}

একটি স্থান পান

নিচের উদাহরণটি দেখায় কিভাবে একটি চ্যাট স্পেস সম্পর্কে তথ্য পেতে হয়।

  1. Apps Script প্রকল্পের appsscript.json ফাইলে chat.spaces.readonly অনুমোদনের সুযোগ যোগ করুন:

    "oauthScopes": [
      "https://www.googleapis.com/auth/chat.spaces.readonly"
    ]
    
  2. অ্যাপস স্ক্রিপ্ট প্রকল্পের কোডে এইরকম একটি ফাংশন যোগ করুন:

    উন্নত/chat.gs
    /**
     * Gets information about a Chat space.
     * @param {string} spaceName The resource name of the space.
     */
    function getSpace(spaceName) {
      try {
        const space = Chat.Spaces.get(spaceName);
        console.log('Space display name: %s', space.displayName);
        console.log('Space type: %s', space.spaceType);
      } catch (err) {
        // TODO (developer) - Handle exception
        console.log('Failed to get space with error %s', err.message);
      }
    }

একটি স্থান তৈরি করুন

নিম্নলিখিত উদাহরণটি দেখায় কিভাবে একটি চ্যাট স্পেস তৈরি করতে হয়।

  1. Apps Script প্রকল্পের appsscript.json ফাইলে chat.spaces.create অনুমোদনের সুযোগ যোগ করুন:

    "oauthScopes": [
      "https://www.googleapis.com/auth/chat.spaces.create"
    ]
    
  2. অ্যাপস স্ক্রিপ্ট প্রকল্পের কোডে এইরকম একটি ফাংশন যোগ করুন:

    উন্নত/chat.gs
    /**
     * Creates a new Chat space.
     */
    function createSpace() {
      try {
        const space = {'displayName': 'New Space', 'spaceType': 'SPACE'};
        Chat.Spaces.create(space);
      } catch (err) {
        // TODO (developer) - Handle exception
        console.log('Failed to create space with error %s', err.message);
      }
    }

সদস্যপদ তালিকা

নিম্নলিখিত উদাহরণটি দেখায় কিভাবে একটি চ্যাট স্পেসের সমস্ত সদস্যকে তালিকাভুক্ত করতে হয়।

  1. Apps Script প্রকল্পের appsscript.json ফাইলে chat.memberships.readonly অনুমোদনের সুযোগ যোগ করুন:

    "oauthScopes": [
      "https://www.googleapis.com/auth/chat.memberships.readonly"
    ]
    
  2. অ্যাপস স্ক্রিপ্ট প্রকল্পের কোডে এইরকম একটি ফাংশন যোগ করুন:

    উন্নত/chat.gs
    /**
     * Lists all the members of a Chat space.
     * @param {string} spaceName The resource name of the space.
     */
    function listMemberships(spaceName) {
      let response;
      let pageToken = null;
      try {
        do {
          response = Chat.Spaces.Members.list(spaceName, {
            pageSize: 10,
            pageToken: pageToken
          });
          if (!response.memberships || response.memberships.length === 0) {
            pageToken = response.nextPageToken;
            continue;
          }
          response.memberships.forEach((membership) => console.log(
              'Member resource name: %s (type: %s)',
              membership.name,
              membership.member.type));
          pageToken = response.nextPageToken;
        } while (pageToken);
      } catch (err) {
        // TODO (developer) - Handle exception
        console.log('Failed with error %s', err.message);
      }
    }

সমস্যা সমাধান

আপনি যদি Error 400: invalid_scope ত্রুটি বার্তার সম্মুখীন হন Some requested scopes cannot be shown , এর মানে আপনি Apps Script প্রকল্পের appsscript.json ফাইলে কোনো অনুমোদনের সুযোগ নির্দিষ্ট করেননি। বেশিরভাগ ক্ষেত্রে, অ্যাপস স্ক্রিপ্ট স্বয়ংক্রিয়ভাবে নির্ধারণ করে যে কোন স্ক্রিপ্টের কোন স্কোপের প্রয়োজন, কিন্তু আপনি যখন চ্যাট উন্নত পরিষেবা ব্যবহার করেন, তখন আপনাকে অবশ্যই ম্যানুয়ালি অনুমোদনের সুযোগ যোগ করতে হবে যা আপনার স্ক্রিপ্ট আপনার অ্যাপস স্ক্রিপ্ট প্রকল্পের ম্যানিফেস্ট ফাইলে ব্যবহার করে। সুস্পষ্ট স্কোপ সেট করা দেখুন।

ত্রুটিটি সমাধান করতে, oauthScopes অ্যারের অংশ হিসাবে Apps Script প্রকল্পের appsscript.json ফাইলে যথাযথ অনুমোদনের সুযোগ যোগ করুন। উদাহরণস্বরূপ, spaces.messages.create পদ্ধতিতে কল করতে, নিম্নলিখিত যোগ করুন:

"oauthScopes": [
  "https://www.googleapis.com/auth/chat.messages.create"
]

সীমা এবং বিবেচনা

উন্নত চ্যাট পরিষেবা সমর্থন করে না:

একটি বার্তা সংযুক্তি ডাউনলোড করতে বা একটি বিকাশকারী পূর্বরূপ পদ্ধতিতে কল করতে, পরিবর্তে UrlFetchApp ব্যবহার করুন৷