Google Chat অ্যাপ হিসেবে প্রমাণীকরণ করুন

এই নির্দেশিকাটি ব্যাখ্যা করে যে কীভাবে একটি চ্যাট অ্যাপের হয়ে Google Chat API অ্যাক্সেস করতে একটি পরিষেবা অ্যাকাউন্ট সেট আপ এবং ব্যবহার করতে হয়। প্রথমত, এটি আপনাকে কীভাবে একটি পরিষেবা অ্যাকাউন্ট তৈরি করতে হয় তা নিয়ে চলে। তারপরে, এটি প্রদর্শন করে যে কীভাবে একটি স্ক্রিপ্ট লিখতে হয় যা পরিষেবা অ্যাকাউন্ট ব্যবহার করে চ্যাট API এর সাথে প্রমাণীকরণ করে এবং একটি চ্যাট স্পেসে একটি বার্তা পোস্ট করে।

একটি পরিষেবা অ্যাকাউন্টের সাথে প্রমাণীকরণ করা হলে, চ্যাট স্পেসের সম্পর্কে ডেটা পেতে বা কর্ম সম্পাদন করতে, চ্যাট অ্যাপগুলির অবশ্যই স্পেস সদস্যতা থাকতে হবে। উদাহরণস্বরূপ, একটি স্পেসের সদস্যদের তালিকাভুক্ত করতে, বা একটি স্পেসে একটি বার্তা তৈরি করতে, চ্যাট অ্যাপটিকে নিজেকেই স্পেসের সদস্য হতে হবে। একমাত্র ব্যতিক্রম হল যখন একটি চ্যাট অ্যাপ অ্যাপ প্রমাণীকরণের সাথে একটি স্পেস তৈরি করে, এই ক্ষেত্রে অ্যাপটি স্পেস তৈরি করে এবং তারপর স্বয়ংক্রিয়ভাবে সদস্য হয়ে যায়।

Google Chat API পদ্ধতিগুলি যেগুলি অনুমোদনের সুযোগগুলির সাথে অ্যাপ অনুমোদনকে সমর্থন করে যেগুলির নামগুলি https://www.googleapis.com/auth/chat.app.* শুরু হয় এক-কালীন প্রশাসকের অনুমোদন প্রয়োজন৷ Google Chat API পদ্ধতিগুলি যেগুলি https://www.googleapis.com/auth/chat.bot অনুমোদনের সুযোগের সাথে অ্যাপ অনুমোদনকে সমর্থন করে তাদের অতিরিক্ত অনুমোদনের প্রয়োজন হয় না। https://www.googleapis.com/auth/chat.app.* অনুমোদনের সুযোগগুলি বিকাশকারী পূর্বরূপে উপলব্ধ।

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

চ্যাট অ্যাপগুলির কখন প্রমাণীকরণের প্রয়োজন হয় এবং কী ধরনের প্রমাণীকরণ ব্যবহার করতে হবে সে সম্পর্কে আরও জানতে, চ্যাট এপিআই প্রমাণীকরণ এবং অনুমোদন ওভারভিউতে প্রয়োজনীয় প্রমাণীকরণের প্রকারগুলি দেখুন৷

পূর্বশর্ত

জাভা

  • JDK 1.7 বা তার বেশি
  • ম্যাভেন প্যাকেজ ম্যানেজমেন্ট টুল
  • একটি প্রাথমিক মাভেন প্রকল্প। একটি নতুন প্রকল্প শুরু করতে, আপনার কমান্ড-লাইন ইন্টারফেসে নিম্নলিখিত কমান্ডটি চালান:
    mvn archetype:generate -DgroupId=com.google.chat.app.authsample -DartifactId=auth-sample-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
  • একটি Google চ্যাট অ্যাপ যা ইন্টারেক্টিভ বৈশিষ্ট্যের জন্য সক্ষম। একটি HTTP পরিষেবা ব্যবহার করে একটি ইন্টারেক্টিভ চ্যাট অ্যাপ তৈরি করতে, এই কুইকস্টার্টটি সম্পূর্ণ করুন।
  • একটি স্পেসে চ্যাট অ্যাপ যোগ করুন। চ্যাট অ্যাপ যোগ করতে, Google চ্যাট অ্যাপের জন্য পরীক্ষামূলক ইন্টারেক্টিভ বৈশিষ্ট্য দেখুন।

পাইথন

Node.js

  • Node.js 14 বা তার বেশি
  • npm প্যাকেজ ম্যানেজমেন্ট টুল
  • একটি প্রাথমিক Node.js প্রকল্প। একটি নতুন প্রকল্প শুরু করতে, একটি নতুন ফোল্ডার তৈরি করুন এবং স্যুইচ করুন, তারপর আপনার কমান্ড-লাইন ইন্টারফেসে নিম্নলিখিত কমান্ডটি চালান:
    npm init
  • একটি Google চ্যাট অ্যাপ যা ইন্টারেক্টিভ বৈশিষ্ট্যের জন্য সক্ষম। একটি HTTP পরিষেবা ব্যবহার করে একটি ইন্টারেক্টিভ চ্যাট অ্যাপ তৈরি করতে, এই কুইকস্টার্টটি সম্পূর্ণ করুন।
  • একটি স্পেসে চ্যাট অ্যাপ যোগ করুন। চ্যাট অ্যাপ যোগ করতে, Google চ্যাট অ্যাপের জন্য পরীক্ষামূলক ইন্টারেক্টিভ বৈশিষ্ট্য দেখুন।

অ্যাপস স্ক্রিপ্ট

ধাপ 1: Google ক্লাউড কনসোলে একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন

একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন যা আপনার চ্যাট অ্যাপ Google API অ্যাক্সেস করতে ব্যবহার করতে পারে।

একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন

একটি পরিষেবা অ্যাকাউন্ট তৈরি করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

গুগল ক্লাউড কনসোল

  1. Google ক্লাউড কনসোলে, মেনু > IAM & Admin > Service Accounts- এ যান।

    সার্ভিস অ্যাকাউন্টে যান

  2. পরিষেবা অ্যাকাউন্ট তৈরি করুন ক্লিক করুন।
  3. পরিষেবা অ্যাকাউন্টের বিবরণ পূরণ করুন, তারপর তৈরি করুন এবং চালিয়ে যান ক্লিক করুন।
  4. ঐচ্ছিক: আপনার Google ক্লাউড প্রকল্পের সংস্থানগুলিতে অ্যাক্সেস দেওয়ার জন্য আপনার পরিষেবা অ্যাকাউন্টে ভূমিকা বরাদ্দ করুন৷ আরও বিশদ বিবরণের জন্য, সংস্থানগুলিতে অ্যাক্সেস মঞ্জুর করা, পরিবর্তন করা এবং প্রত্যাহার করা দেখুন।
  5. অবিরত ক্লিক করুন.
  6. ঐচ্ছিক: ব্যবহারকারী বা গোষ্ঠীগুলি লিখুন যারা এই পরিষেবা অ্যাকাউন্টের সাথে ক্রিয়াকলাপ পরিচালনা এবং সম্পাদন করতে পারে৷ আরও বিশদ বিবরণের জন্য, পরিসেবা অ্যাকাউন্ট ছদ্মবেশ ম্যানেজিং দেখুন।
  7. সম্পন্ন ক্লিক করুন. পরিষেবা অ্যাকাউন্টের জন্য ইমেল ঠিকানা একটি নোট করুন.

জিক্লাউড সিএলআই

  1. পরিষেবা অ্যাকাউন্ট তৈরি করুন:
    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \
      --display-name="SERVICE_ACCOUNT_NAME"
  2. ঐচ্ছিক: আপনার Google ক্লাউড প্রকল্পের সংস্থানগুলিতে অ্যাক্সেস দেওয়ার জন্য আপনার পরিষেবা অ্যাকাউন্টে ভূমিকা বরাদ্দ করুন৷ আরও বিশদ বিবরণের জন্য, সংস্থানগুলিতে অ্যাক্সেস মঞ্জুর করা, পরিবর্তন করা এবং প্রত্যাহার করা দেখুন।

পরিষেবা অ্যাকাউন্ট পরিষেবা অ্যাকাউন্ট পৃষ্ঠায় উপস্থিত হয়৷ পরবর্তী, পরিষেবা অ্যাকাউন্টের জন্য একটি ব্যক্তিগত কী তৈরি করুন।

একটি ব্যক্তিগত কী তৈরি করুন

পরিষেবা অ্যাকাউন্টের জন্য একটি ব্যক্তিগত কী তৈরি এবং ডাউনলোড করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. Google ক্লাউড কনসোলে, মেনু > IAM & Admin > Service Accounts- এ যান।

    সার্ভিস অ্যাকাউন্টে যান

  2. আপনার পরিষেবা অ্যাকাউন্ট নির্বাচন করুন.
  3. কী > কী যোগ করুন > নতুন কী তৈরি করুন ক্লিক করুন।
  4. JSON নির্বাচন করুন, তারপর তৈরি করুন ক্লিক করুন।

    আপনার নতুন পাবলিক/প্রাইভেট কী জোড়া তৈরি করা হয়েছে এবং একটি নতুন ফাইল হিসেবে আপনার মেশিনে ডাউনলোড করা হয়েছে। ডাউনলোড করা JSON ফাইলটিকে আপনার কাজের ডিরেক্টরিতে credentials.json হিসাবে সংরক্ষণ করুন। এই ফাইলটি এই কীটির একমাত্র অনুলিপি। কীভাবে আপনার কী নিরাপদে সংরক্ষণ করবেন সে সম্পর্কে তথ্যের জন্য, পরিষেবা অ্যাকাউন্ট কীগুলি পরিচালনা করা দেখুন।

  5. বন্ধ ক্লিক করুন.

পরিষেবা অ্যাকাউন্ট সম্পর্কে আরও তথ্যের জন্য, Google ক্লাউড IAM ডকুমেন্টেশনে পরিষেবা অ্যাকাউন্টগুলি দেখুন৷

এরপর, এই পরিষেবা অ্যাকাউন্টের জন্য একটি Google Workspace Marketplace-এর সাথে সামঞ্জস্যপূর্ণ OAuth ক্লায়েন্ট তৈরি করুন।

প্রশাসকের অনুমোদন পান

একটি অনুমোদনের সুযোগ ব্যবহার করতে যা https://www.googleapis.com/auth/chat.app.* দিয়ে শুরু হয়, যা একটি বিকাশকারী পূর্বরূপের অংশ হিসাবে উপলব্ধ, আপনার চ্যাট অ্যাপটিকে অবশ্যই একটি এককালীন প্রশাসকের অনুমোদন পেতে হবে৷

https://www.googleapis.com/auth/chat.bot অনুমোদনের সুযোগ ব্যবহার করতে, কোনো প্রশাসকের অনুমোদনের প্রয়োজন নেই।

প্রশাসকের অনুমোদন পেতে, আপনাকে অবশ্যই নিম্নলিখিত তথ্য দিয়ে আপনার চ্যাট অ্যাপের পরিষেবা অ্যাকাউন্ট প্রস্তুত করতে হবে:

  • একটি Google Workspace Marketplace-সামঞ্জস্যপূর্ণ OAuth ক্লায়েন্ট।
  • Google Workspace Marketplace SDK-এ অ্যাপ কনফিগারেশন।

একটি Google Workspace Marketplace-এর সাথে সামঞ্জস্যপূর্ণ OAuth ক্লায়েন্ট তৈরি করুন

একটি Google Workspace Marketplace-সামঞ্জস্যপূর্ণ OAuth ক্লায়েন্ট তৈরি করতে, এই ধাপগুলি অনুসরণ করুন:

  1. Google ক্লাউড কনসোলে, মেনু > IAM & Admin > Service Accounts- এ যান।

    সার্ভিস অ্যাকাউন্টে যান

  2. আপনার চ্যাট অ্যাপের জন্য তৈরি করা পরিষেবা অ্যাকাউন্টে ক্লিক করুন।

  3. Advanced settings এ ক্লিক করুন।

  4. Google Workspace Marketplace-সামঞ্জস্যপূর্ণ OAuth ক্লায়েন্ট তৈরি করুন-এ ক্লিক করুন।

  5. অবিরত ক্লিক করুন.

একটি কনফার্মেশন মেসেজ দেখা যাচ্ছে যাতে বলা হয়েছে একটি Google Workspace Marketplace-এর সাথে সামঞ্জস্যপূর্ণ OAuth ক্লায়েন্ট তৈরি করা হয়েছে।

Google Workspace Marketplace SDK-এ Chat অ্যাপ কনফিগার করুন

Google Workspace Marketplace SDK-এ Chat অ্যাপ কনফিগার করতে, এই ধাপগুলি অনুসরণ করুন:

  1. Google ক্লাউড কনসোলে, Google Workspace Marketplace SDK চালু করুন।

    Google Workspace Marketplace SDK চালু করুন

  2. Google ক্লাউড কনসোলে, মেনু > APIs & Services > Enabled APIs & Services > Google Workspace Marketplace SDK > অ্যাপ কনফিগারেশন- এ যান।

    অ্যাপ কনফিগারেশনে যান

  3. অ্যাপ কনফিগারেশন পৃষ্ঠাটি সম্পূর্ণ করুন। আপনি কীভাবে আপনার চ্যাট অ্যাপটি কনফিগার করবেন তা নির্ভর করে আপনার অভিপ্রেত শ্রোতা কারা এবং অন্যান্য বিষয়ের উপর। অ্যাপ কনফিগারেশন পৃষ্ঠা সম্পূর্ণ করতে সাহায্যের জন্য, Google Workspace Marketplace SDK-এ আপনার অ্যাপ কনফিগার করুন দেখুন। এই গাইডের উদ্দেশ্যে, নিম্নলিখিত তথ্য লিখুন:

    1. অ্যাপের দৃশ্যমানতার অধীনে, ব্যক্তিগত নির্বাচন করুন।
    2. ইনস্টলেশন সেটিংসের অধীনে, পৃথক + অ্যাডমিন ইনস্টল নির্বাচন করুন।
    3. অ্যাপ ইন্টিগ্রেশনের অধীনে, চ্যাট অ্যাপ নির্বাচন করুন।
    4. OAuth স্কোপের অধীনে, আপনার চ্যাট অ্যাপ ব্যবহার করে সমস্ত প্রমাণীকরণ স্কোপ লিখুন।

    5. বিকাশকারী তথ্যের অধীনে, আপনার বিকাশকারীর নাম , বিকাশকারী ওয়েবসাইট URL এবং বিকাশকারী ইমেল লিখুন।

    6. খসড়া সংরক্ষণ করুন ক্লিক করুন.

প্রশাসকের অনুমোদন পান

এখন যেহেতু আপনার পরিষেবা অ্যাকাউন্ট অ্যাডমিনিস্ট্রেটরের অনুমোদন পাওয়ার জন্য কনফিগার করা হয়েছে, Google Workspace অ্যাডমিনিস্ট্রেটরের কাছ থেকে এটি নিন যিনি Chat অ্যাপের অনুমোদন সেট-আপ করার ধাপগুলি অনুসরণ করে অনুমোদন দিতে পারেন।

ধাপ 2: Google ক্লায়েন্ট লাইব্রেরি এবং অন্যান্য নির্ভরতা ইনস্টল করুন

প্রকল্পের জন্য প্রয়োজনীয় Google ক্লায়েন্ট লাইব্রেরি এবং অন্যান্য নির্ভরতা ইনস্টল করুন।

জাভা

আপনার Maven প্রকল্পে Google ক্লায়েন্ট লাইব্রেরি এবং অন্যান্য প্রয়োজনীয় নির্ভরতা যোগ করতে, আপনার প্রকল্পের ডিরেক্টরিতে pom.xml ফাইলটি সম্পাদনা করুন এবং নিম্নলিখিত নির্ভরতা যোগ করুন:

<dependencies>
  <!-- ... existing dependencies ... -->
  <dependency>
    <groupId>com.google.apis</groupId>
    <artifactId>google-api-services-chat</artifactId>
    <version>v1-rev20230905-2.0.0</version>
  </dependency>
  <dependency>
    <groupId>com.google.auth</groupId>
    <artifactId>google-auth-library-oauth2-http</artifactId>
    <version>1.19.0</version>
  </dependency>
  <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>2.10.1</version>
  </dependency>
</dependencies>

পাইথন

আপনি যদি পাইথনের জন্য Google ক্লায়েন্ট লাইব্রেরিগুলি ইতিমধ্যে ইনস্টল না করে থাকেন তবে আপনার কমান্ড-লাইন ইন্টারফেসে নিম্নলিখিত কমান্ডটি চালান:

pip3 install --upgrade google-api-python-client google-auth

Node.js

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

npm install "@googleapis/chat"

অ্যাপস স্ক্রিপ্ট

পরিষেবা অ্যাকাউন্ট প্রমাণীকরণের জন্য একটি JWT টোকেন তৈরি করতে এই নমুনা অ্যাপস স্ক্রিপ্ট লাইব্রেরির জন্য OAuth2 ব্যবহার করে। আপনার অ্যাপস স্ক্রিপ্ট প্রকল্পে লাইব্রেরি যোগ করতে:

  1. বাম দিকে, এডিটর ক্লিক করুন।
  2. বামদিকে, লাইব্রেরির পাশে, একটি লাইব্রেরি করুন ক্লিক করুন।
  3. স্ক্রিপ্ট আইডি 1B7FSrk5Zi6L1rSxxTDgDEUsPzlukDsi4KGuTMorsTQHhGBzBkMun4iDF লিখুন।
  4. Look up এ ক্লিক করুন, তারপর Add এ ক্লিক করুন।

এই নমুনা Google Chat API কল করতে উন্নত চ্যাট পরিষেবা ব্যবহার করে। আপনার Apps স্ক্রিপ্ট প্রকল্পের জন্য পরিষেবা চালু করতে:

  1. বাম দিকে, এডিটর ক্লিক করুন।
  2. বাম দিকে, পরিষেবাগুলির পাশে, একটি পরিষেবা ক্লিক করুন৷
  3. Google Chat API নির্বাচন করুন।
  4. সংস্করণে , v1 নির্বাচন করুন।
  5. যোগ করুন ক্লিক করুন.

আপনি আমাদের ক্লায়েন্ট লাইব্রেরি দ্বারা সমর্থিত যেকোনো ভাষা ব্যবহার করতে পারেন।

ধাপ 3: একটি স্ক্রিপ্ট লিখুন যা Chat API এর সাথে প্রমাণীকরণ করতে পরিষেবা অ্যাকাউন্ট ব্যবহার করে

নিম্নলিখিত কোডটি একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করে চ্যাট API এর সাথে প্রমাণীকরণ করে, তারপর একটি চ্যাট স্পেসে একটি বার্তা পোস্ট করে:

জাভা

  1. আপনার প্রকল্পের ডিরেক্টরিতে, src/main/java/com/google/chat/app/authsample/App.java ফাইলটি খুলুন।
  2. নিম্নলিখিত কোড দিয়ে App.java এর বিষয়বস্তু প্রতিস্থাপন করুন:

    package com.google.chat.app.authsample;
    
    import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
    import com.google.api.client.http.HttpRequestInitializer;
    import com.google.api.client.json.gson.GsonFactory;
    import com.google.api.services.chat.v1.HangoutsChat;
    import com.google.api.services.chat.v1.model.Message;
    import com.google.auth.http.HttpCredentialsAdapter;
    import com.google.auth.oauth2.GoogleCredentials;
    
    /**
     * Authenticates with Chat API using service account credentials,
     * then creates a Chat message.
     */
    public class App {
        // Specify required scopes.
        private static final String CHAT_SCOPE = "https://www.googleapis.com/auth/chat.bot";
    
        // Specify service account details.
        private static final String PRIVATE_KEY_RESOURCE_URI = "/credentials.json";
    
        public static void main( String[] args ) {
            try {
                // Run app.
                Message response = App.createChatMessage();
                // Print details about the created message.
                System.out.println(response);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        private static Message createChatMessage() throws Exception {
            // Build the Chat API client and authenticate with the service account.
            GoogleCredentials credentials = GoogleCredentials.fromStream(
                App.class.getResourceAsStream(PRIVATE_KEY_RESOURCE_URI))
                .createScoped(CHAT_SCOPE);
            HttpRequestInitializer requestInitializer = new HttpCredentialsAdapter(credentials);
            HangoutsChat chatService = new HangoutsChat.Builder(
                GoogleNetHttpTransport.newTrustedTransport(),
                GsonFactory.getDefaultInstance(),
                requestInitializer)
                .setApplicationName("auth-sample-app")
                .build();
    
            // The space to create the message in.
            //
            // Replace SPACE_NAME with a space name.
            // Obtain the space name from the spaces resource of Chat API,
            // or from a space's URL.
            String spaceName = "spaces/SPACE_NAME";
    
            // Create a Chat message.
            Message message = new Message().setText("Hello, world!");
            return chatService.spaces().messages().create(spaceName, message).execute();
        }
    }
    
  3. কোডে, SPACE_NAME একটি স্পেস নাম দিয়ে প্রতিস্থাপন করুন, যা আপনি Chat API-এর spaces.list পদ্ধতি থেকে বা একটি স্থানের URL থেকে পেতে পারেন।

  4. আপনার প্রকল্পের ডিরেক্টরির মধ্যে একটি নতুন সাব-ডিরেক্টরি নামে resources তৈরি করুন।

  5. নিশ্চিত করুন যে আপনার পরিষেবা অ্যাকাউন্টের জন্য ব্যক্তিগত কী ফাইলটির নাম credentials.json এবং এটি resources সাবডিরেক্টরিতে অনুলিপি করুন৷

  6. প্রোজেক্ট প্যাকেজে প্রাইভেট কী ফাইল অন্তর্ভুক্ত করার জন্য Maven কনফিগার করতে, আপনার প্রোজেক্টের ডিরেক্টরিতে pom.xml ফাইলটি সম্পাদনা করুন এবং <build> বিভাগে নিম্নলিখিত কনফিগারেশন যোগ করুন:

    <build>
      <!-- ... existing configurations ... -->
      <resources>
        <resource>
          <directory>resources</directory>
        </resource>
      </resources>
    </build>
    
  7. প্রোজেক্ট প্যাকেজে নির্ভরতা অন্তর্ভুক্ত করার জন্য এবং আপনার অ্যাপ্লিকেশনের প্রধান ক্লাস চালানোর জন্য Maven কনফিগার করতে, আপনার প্রকল্পের ডিরেক্টরিতে pom.xml ফাইলটি সম্পাদনা করুন এবং <plugins> বিভাগে নিম্নলিখিত কনফিগারেশন যোগ করুন:

    <plugins>
      <!-- ... existing configurations ... -->
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <archive>
            <manifest>
              <mainClass>com.google.chat.app.authsample.App</mainClass>
            </manifest>
          </archive>
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
        </configuration>
      </plugin>
    </plugins>
    

পাইথন

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

    from apiclient.discovery import build
    from google.oauth2 import service_account
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    creds = service_account.Credentials.from_service_account_file(
        'credentials.json', scopes=SCOPES)
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=creds)
    
    # Create a Chat message.
    result = chat.spaces().messages().create(
    
        # The space to create the message in.
        #
        # Replace SPACE_NAME with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        parent='spaces/SPACE_NAME',
    
        # The message to create.
        body={'text': 'Hello, world!'}
    
    ).execute()
    
    # Prints details about the created message.
    print(result)
    
  3. কোডে, SPACE_NAME একটি স্পেস নাম দিয়ে প্রতিস্থাপন করুন, যা আপনি Chat API-এর spaces.list পদ্ধতি থেকে বা একটি স্থানের URL থেকে পেতে পারেন। নিশ্চিত করুন যে আপনার পরিষেবা অ্যাকাউন্টের জন্য ব্যক্তিগত কী ফাইলটির নাম credentials.json

Node.js

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

    const chat = require('@googleapis/chat');
    
    async function createMessage() {
      const auth = new chat.auth.GoogleAuth({
    
        // Specify service account details.
        keyFilename: 'credentials.json',
    
        // Specify required scopes.
        scopes: ['https://www.googleapis.com/auth/chat.bot']
    
      });
      const authClient = await auth.getClient();
    
      // Create the Chat API client and authenticate with the service account.
      const chatClient = await chat.chat({
        version: 'v1',
        auth: authClient
      });
    
      // Create a Chat message.
      const result = await chatClient.spaces.messages.create({
    
        // The space to create the message in.
        //
        // Replace SPACE_NAME with a space name.
        // Obtain the space name from the spaces resource of Chat API,
        // or from a space's URL.
        parent: 'spaces/SPACE_NAME',
    
        // The message to create.
        requestBody: { 'text': 'Hello, world!' }
    
      });
      return result;
    }
    
    // Execute function then print details about the created message.
    createMessage().then(console.log);
    
  3. কোডে, SPACE_NAME একটি স্পেস নাম দিয়ে প্রতিস্থাপন করুন, যা আপনি Chat API-এর spaces.list পদ্ধতি থেকে বা একটি স্থানের URL থেকে পেতে পারেন। নিশ্চিত করুন যে আপনার পরিষেবা অ্যাকাউন্টের জন্য ব্যক্তিগত কী ফাইলটির নাম credentials.json

অ্যাপস স্ক্রিপ্ট

  1. Apps স্ক্রিপ্ট এডিটরে, appsscript.json ফাইলটি সম্পাদনা করুন এবং পরিষেবা অ্যাকাউন্ট OAuth টোকেন পাওয়ার জন্য বাহ্যিক অনুরোধ করার জন্য প্রয়োজনীয় OAuth স্কোপ যোগ করুন:

      "oauthScopes": [
        "https://www.googleapis.com/auth/script.external_request"
      ]
    
  2. আপনার Apps স্ক্রিপ্ট প্রকল্পে ChatAppAuth.gs নামের একটি ফাইলে নিম্নলিখিত কোডটি সংরক্ষণ করুন:

    // Specify the contents of the file credentials.json.
    const CREDENTIALS = CREDENTIALS;
    
    const SCOPE = 'https://www.googleapis.com/auth/chat.bot';
    
    // The space to create the message in.
    //
    // Replace SPACE_NAME with a space name.
    // Obtain the space name from the spaces resource of Chat API,
    // or from a space's URL.
    const PARENT = 'spaces/SPACE_NAME'
    
    /**
     * Authenticates with Chat API using app credentials, then posts a message.
     */
    function createMessageWithAppCredentials() {
      try {
        const service = getService_();
        if (!service.hasAccess()) {
          console.error(service.getLastError());
          return;
        }
    
        // Specify the message to create.
        const message = {'text': 'Hello world!'};
    
        // Call Chat API with a service account to create a message.
        const result = Chat.Spaces.Messages.create(
            message,
            PARENT,
            {},
            // Authenticate with the service account token.
            {'Authorization': 'Bearer ' + service.getAccessToken()});
    
        // Log details about the created message.
        console.log(result);
    
      } catch (err) {
        // TODO (developer) - Handle exception.
        console.log('Failed to create message with error %s', err.message);
      }
    }
    
    /**
     * Configures the OAuth library to authenticate with the service account.
     */
    function getService_() {
      return OAuth2.createService(CREDENTIALS.client_email)
          .setTokenUrl('https://oauth2.googleapis.com/token')
          .setPrivateKey(CREDENTIALS.private_key)
          .setIssuer(CREDENTIALS.client_email)
          .setSubject(CREDENTIALS.client_email)
          .setScope(SCOPE)
          .setPropertyStore(PropertiesService.getScriptProperties());
    }
    
  3. কোডে, credentials.json ফাইলের বিষয়বস্তু দিয়ে CREDENTIALS প্রতিস্থাপন করুন।

  4. কোডে, SPACE_NAME একটি স্পেস নাম দিয়ে প্রতিস্থাপন করুন, যা আপনি Chat API-এর spaces.list পদ্ধতি থেকে বা একটি স্থানের URL থেকে পেতে পারেন।

ধাপ 4: সম্পূর্ণ উদাহরণ চালান

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

জাভা

mvn compile assembly:single
java -jar target/auth-sample-app-1.0-SNAPSHOT-jar-with-dependencies.jar

পাইথন

python3 chat_app_auth.py

Node.js

node chat_app_auth.js

অ্যাপস স্ক্রিপ্ট

অ্যাপস স্ক্রিপ্ট এডিটরে ChatAppAuth.gs ফাইলটি খুলুন এবং রান এ ক্লিক করুন।

আপনার স্ক্রিপ্ট চ্যাট এপিআই-এর কাছে একটি প্রমাণীকৃত অনুরোধ করে, যা চ্যাট অ্যাপ হিসাবে একটি চ্যাট স্পেসে একটি বার্তা পোস্ট করে প্রতিক্রিয়া জানায়।

উদাহরণের সমস্যা সমাধান করুন

এই বিভাগে এই নমুনা চালানোর চেষ্টা করার সময় আপনি সম্মুখীন হতে পারে যে সাধারণ সমস্যা বর্ণনা করে.

আপনি এই অ্যাপ্লিকেশন ব্যবহার করার অনুমতি দেওয়া হয় না

স্ক্রিপ্ট চালানোর সময়, আপনি একটি ত্রুটি পেতে পারেন যা বলে:

<HttpError 403 when requesting https://chat.googleapis.com/v1/spaces/{space}/messages?alt=json returned "You are not permitted to use this app". Details: "You are not permitted to use this app">

এই ত্রুটি বার্তাটির অর্থ হল চ্যাট অ্যাপের নির্দিষ্ট চ্যাট স্পেসে চ্যাট বার্তা তৈরি করার অনুমতি নেই।

ত্রুটিটি সমাধান করতে, স্ক্রিপ্টে নির্দিষ্ট চ্যাট স্পেসে চ্যাট অ্যাপ যোগ করুন

এই ক্রিয়াকলাপের জন্য প্রশাসককে অবশ্যই অ্যাপটিকে প্রয়োজনীয় OAuth অনুমোদনের সুযোগ দিতে হবে

স্ক্রিপ্ট চালানোর সময়, আপনি একটি ত্রুটি পেতে পারেন যা বলে:

<HttpError 403 when requesting https://chat.googleapis.com/v1/spaces/{space}?alt=json returned "The administrator must grant the app the required OAuth authorization scope for this action.". Details: "The administrator must grant the app the required OAuth authorization scope for this action.">

এই ত্রুটির বার্তাটির অর্থ হল একজন Google Workspace অ্যাডমিনিস্ট্রেটর এখনও Chat অ্যাপটিকে https://www.googleapis.com/auth/chat.app.* নামে শুরু হওয়া অনুমোদনের সুযোগ ব্যবহার করার জন্য এককালীন অনুমোদন দেননি।

ত্রুটি সমাধান করতে:

  • Google Workspace অ্যাডমিনিস্ট্রেটরকে আপনার Chat অ্যাপের অনুমোদন দিতে বলুন। আপনার চ্যাট অ্যাপের যুক্তিতে এই ত্রুটিটি পরিচালনা করার সময়, অনুরোধ করা পদক্ষেপটি সম্পাদন করার জন্য চ্যাট অ্যাপটির প্রশাসকের অনুমোদন প্রয়োজন বলে ঘোষণা করে একটি বার্তা পাঠানোর কথা বিবেচনা করুন, সম্ভবত: To perform this action, I need approval. <https://support.google.com/a?p=chat-app-auth|Learn more>.
  • যদি Google Chat API পদ্ধতি https://www.googleapis.com/auth/chat.bot অনুমোদনের সুযোগ সমর্থন করে, যার জন্য প্রশাসকের অনুমোদনের প্রয়োজন হয় না, তাহলে পরিবর্তে এটি ব্যবহার করার কথা বিবেচনা করুন। কোন পদ্ধতি সমর্থন করে তা যাচাই করার জন্য, Google Chat API রেফারেন্স ডকুমেন্টেশন দেখুন।