এই নির্দেশিকাটি ব্যাখ্যা করে যে কীভাবে চ্যাট অ্যাপের পক্ষ থেকে Google Chat API অ্যাক্সেস করার জন্য একটি পরিষেবা অ্যাকাউন্ট সেট আপ এবং ব্যবহার করতে হয়। প্রথমে, এটি আপনাকে কীভাবে একটি পরিষেবা অ্যাকাউন্ট তৈরি করতে হয় তা ব্যাখ্যা করে। তারপর, এটি দেখায় যে কীভাবে একটি স্ক্রিপ্ট লিখতে হয় যা পরিষেবা অ্যাকাউন্ট ব্যবহার করে চ্যাট API দিয়ে প্রমাণীকরণ করতে এবং একটি চ্যাট স্পেসে একটি বার্তা পোস্ট করতে হয়।
কোনও পরিষেবা অ্যাকাউন্টের মাধ্যমে প্রমাণীকরণ করা হলে, চ্যাট স্পেস সম্পর্কে তথ্য পেতে বা কার্য সম্পাদন করতে, চ্যাট অ্যাপগুলির অবশ্যই সেই স্পেসে সদস্যপদ থাকতে হবে। উদাহরণস্বরূপ, কোনও স্পেসের সদস্যদের তালিকাভুক্ত করতে, বা কোনও স্পেসে একটি বার্তা তৈরি করতে, চ্যাট অ্যাপটিকে নিজেই সেই স্পেসের সদস্য হতে হবে। একমাত্র ব্যতিক্রম হল যখন কোনও চ্যাট অ্যাপ অ্যাপ প্রমাণীকরণের মাধ্যমে একটি স্পেস তৈরি করে, সেই ক্ষেত্রে অ্যাপটি স্পেস তৈরি করে এবং তারপরে স্বয়ংক্রিয়ভাবে সদস্য হয়ে যায়।
https://www.googleapis.com/auth/chat.app.* নামের সাথে অ্যাপ অনুমোদন সমর্থন করে এমন Google Chat API পদ্ধতিগুলির জন্য এককালীন প্রশাসকের অনুমোদন প্রয়োজন। https://www.googleapis.com/auth/chat.bot অনুমোদন সুযোগের সাথে অ্যাপ অনুমোদন সমর্থন করে এমন Google Chat API পদ্ধতিগুলির জন্য অতিরিক্ত অনুমোদনের প্রয়োজন হয় না।
যদি আপনার চ্যাট অ্যাপের ব্যবহারকারীর ডেটা অ্যাক্সেস করার বা ব্যবহারকারীর পক্ষে কোনও পদক্ষেপ নেওয়ার প্রয়োজন হয়, তাহলে ব্যবহারকারী হিসেবে প্রমাণীকরণ করুন । আপনি যদি একজন ডোমেন প্রশাসক হন, তাহলে আপনি প্রতিটি ব্যবহারকারীর সম্মতি না দিয়েই চ্যাট অ্যাপের পরিষেবা অ্যাকাউন্টকে আপনার ব্যবহারকারীর ডেটা অ্যাক্সেস করার জন্য ডোমেন-ওয়াইড ডেলিগেশন অফ অথরিটি অনুমোদন করতে পারেন। আরও তথ্যের জন্য, "ডোমেন-ওয়াইড ডেলিগেশন ব্যবহার করে প্রমাণীকরণ এবং অনুমোদন করুন" দেখুন।
চ্যাট অ্যাপগুলির কখন প্রমাণীকরণের প্রয়োজন হয় এবং কী ধরণের প্রমাণীকরণ ব্যবহার করতে হবে সে সম্পর্কে আরও জানতে, চ্যাট API প্রমাণীকরণ এবং অনুমোদনের ওভারভিউতে প্রয়োজনীয় প্রমাণীকরণের প্রকারগুলি দেখুন।
পূর্বশর্ত
জাভা
- 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 Chat অ্যাপ যা ইন্টারঅ্যাকশন ইভেন্ট গ্রহণ করে এবং সাড়া দেয়। HTTP পরিষেবা ব্যবহার করে একটি ইন্টারেক্টিভ চ্যাট অ্যাপ তৈরি করতে, এই কুইকস্টার্টটি সম্পূর্ণ করুন।
- একটি স্পেসে Chat অ্যাপ যোগ করুন। Chat অ্যাপ যোগ করতে, Google Chat অ্যাপের জন্য ইন্টারেক্টিভ বৈশিষ্ট্য পরীক্ষা করুন দেখুন।
পাইথন
- পাইথন ৩.৬ বা তার বেশি
- পিপ প্যাকেজ ম্যানেজমেন্ট টুল
- একটি Google Chat অ্যাপ যা ইন্টারঅ্যাকশন ইভেন্ট গ্রহণ করে এবং সাড়া দেয়। HTTP পরিষেবা ব্যবহার করে একটি ইন্টারেক্টিভ চ্যাট অ্যাপ তৈরি করতে, এই কুইকস্টার্টটি সম্পূর্ণ করুন।
- একটি স্পেসে Chat অ্যাপ যোগ করুন। Chat অ্যাপ যোগ করতে, Google Chat অ্যাপের জন্য ইন্টারেক্টিভ বৈশিষ্ট্য পরীক্ষা করুন দেখুন।
নোড.জেএস
- Node.js ১৪ বা তার বেশি
- npm প্যাকেজ ম্যানেজমেন্ট টুল
- একটি ইনিশিয়ালাইজড Node.js প্রজেক্ট। একটি নতুন প্রজেক্ট ইনিশিয়ালাইজ করতে, একটি নতুন ফোল্ডার তৈরি করুন এবং স্যুইচ করুন, তারপর আপনার কমান্ড-লাইন ইন্টারফেসে নিম্নলিখিত কমান্ডটি চালান:
npm init
- একটি Google Chat অ্যাপ যা ইন্টারঅ্যাকশন ইভেন্ট গ্রহণ করে এবং সাড়া দেয়। HTTP পরিষেবা ব্যবহার করে একটি ইন্টারেক্টিভ চ্যাট অ্যাপ তৈরি করতে, এই কুইকস্টার্টটি সম্পূর্ণ করুন।
- একটি স্পেসে Chat অ্যাপ যোগ করুন। Chat অ্যাপ যোগ করতে, Google Chat অ্যাপের জন্য ইন্টারেক্টিভ বৈশিষ্ট্য পরীক্ষা করুন দেখুন।
অ্যাপস স্ক্রিপ্ট
- একটি Google Chat অ্যাপ যা ইন্টারঅ্যাকশন ইভেন্ট গ্রহণ করে এবং সাড়া দেয়। Apps Script-এ একটি ইন্টারেক্টিভ চ্যাট অ্যাপ তৈরি করতে, এই Quickstart সম্পূর্ণ করুন।
- একটি স্পেসে Chat অ্যাপ যোগ করুন। Chat অ্যাপ যোগ করতে, Google Chat অ্যাপের জন্য ইন্টারেক্টিভ বৈশিষ্ট্য পরীক্ষা করুন দেখুন।
ধাপ ১: গুগল ক্লাউড কনসোলে একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন
এমন একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন যা আপনার চ্যাট অ্যাপ ব্যবহার করে Google API অ্যাক্সেস করতে পারবে।
একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন
একটি পরিষেবা অ্যাকাউন্ট তৈরি করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
গুগল ক্লাউড কনসোল
- গুগল ক্লাউড কনসোলে, মেনু > IAM & Admin > পরিষেবা অ্যাকাউন্ট এ যান।
- পরিষেবা অ্যাকাউন্ট তৈরি করুন ক্লিক করুন।
- পরিষেবা অ্যাকাউন্টের বিবরণ পূরণ করুন, তারপর তৈরি করুন এবং চালিয়ে যান ক্লিক করুন।
- ঐচ্ছিক: আপনার Google ক্লাউড প্রোজেক্টের রিসোর্সে অ্যাক্সেস দেওয়ার জন্য আপনার পরিষেবা অ্যাকাউন্টে ভূমিকা নির্ধারণ করুন। আরও বিস্তারিত জানার জন্য, রিসোর্সে অ্যাক্সেস প্রদান, পরিবর্তন এবং প্রত্যাহার দেখুন।
- চালিয়ে যান ক্লিক করুন।
- ঐচ্ছিক: এই পরিষেবা অ্যাকাউন্টের মাধ্যমে পরিচালনা এবং কার্য সম্পাদন করতে পারে এমন ব্যবহারকারী বা গোষ্ঠীগুলি লিখুন। আরও বিস্তারিত জানার জন্য, পরিষেবা অ্যাকাউন্ট ছদ্মবেশ পরিচালনা দেখুন।
- সম্পন্ন ক্লিক করুন। পরিষেবা অ্যাকাউন্টের ইমেল ঠিকানাটি লিখে রাখুন।
জিক্লাউড সিএলআই
- পরিষেবা অ্যাকাউন্ট তৈরি করুন:
gcloud iam service-accounts createSERVICE_ACCOUNT_NAME\ --display-name="SERVICE_ACCOUNT_NAME" - ঐচ্ছিক: আপনার Google ক্লাউড প্রোজেক্টের রিসোর্সে অ্যাক্সেস দেওয়ার জন্য আপনার পরিষেবা অ্যাকাউন্টে ভূমিকা নির্ধারণ করুন। আরও বিস্তারিত জানার জন্য, রিসোর্সে অ্যাক্সেস প্রদান, পরিবর্তন এবং প্রত্যাহার দেখুন।
পরিষেবা অ্যাকাউন্টটি পরিষেবা অ্যাকাউন্ট পৃষ্ঠায় প্রদর্শিত হবে। এরপর, পরিষেবা অ্যাকাউন্টের জন্য একটি ব্যক্তিগত কী তৈরি করুন।
একটি ব্যক্তিগত কী তৈরি করুন
পরিষেবা অ্যাকাউন্টের জন্য একটি ব্যক্তিগত কী তৈরি এবং ডাউনলোড করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- গুগল ক্লাউড কনসোলে, মেনু > IAM & Admin > পরিষেবা অ্যাকাউন্ট এ যান।
- আপনার পরিষেবা অ্যাকাউন্ট নির্বাচন করুন।
- কী > কী যোগ করুন > নতুন কী তৈরি করুন ক্লিক করুন।
- JSON নির্বাচন করুন, তারপর Create এ ক্লিক করুন।
আপনার নতুন পাবলিক/প্রাইভেট কী জোড়া তৈরি করা হয়েছে এবং আপনার মেশিনে একটি নতুন ফাইল হিসেবে ডাউনলোড করা হয়েছে। ডাউনলোড করা JSON ফাইলটি আপনার কার্যকরী ডিরেক্টরিতে
credentials.jsonহিসেবে সংরক্ষণ করুন। এই ফাইলটি এই কী-এর একমাত্র কপি। আপনার কী কীভাবে নিরাপদে সংরক্ষণ করবেন সে সম্পর্কে তথ্যের জন্য, পরিষেবা অ্যাকাউন্ট কী পরিচালনা করা দেখুন। - বন্ধ করুন ক্লিক করুন।
পরিষেবা অ্যাকাউন্ট সম্পর্কে আরও তথ্যের জন্য, Google Cloud IAM ডকুমেন্টেশনে পরিষেবা অ্যাকাউন্টগুলি দেখুন।
এরপর, এই পরিষেবা অ্যাকাউন্টের জন্য একটি Google Workspace Marketplace-সামঞ্জস্যপূর্ণ OAuth ক্লায়েন্ট তৈরি করুন।
প্রশাসকের অনুমোদন পান
https://www.googleapis.com/auth/chat.bot অনুমোদনের সুযোগ ব্যবহার করতে, কোনও প্রশাসকের অনুমোদনের প্রয়োজন নেই। ধাপ ২ এ যান: গুগল ক্লায়েন্ট লাইব্রেরি এবং অন্যান্য নির্ভরতা ইনস্টল করুন । এই নির্দেশিকার উদাহরণটি https://www.googleapis.com/auth/chat.bot অনুমোদনের সুযোগ ব্যবহার করে, তাই আপনি যদি উদাহরণটি অনুসরণ করেন, তাহলে ধাপ ২ এ যান।
https://www.googleapis.com/auth/chat.app.* দিয়ে শুরু হওয়া একটি অনুমোদনের সুযোগ ব্যবহার করতে, আপনার চ্যাট অ্যাপটিকে এককালীন প্রশাসকের অনুমোদন নিতে হবে।
প্রশাসকের অনুমোদন পেতে, আপনাকে নিম্নলিখিত তথ্য দিয়ে আপনার চ্যাট অ্যাপের পরিষেবা অ্যাকাউন্ট প্রস্তুত করতে হবে:
- একটি Google Workspace Marketplace-সামঞ্জস্যপূর্ণ OAuth ক্লায়েন্ট।
- Google Workspace Marketplace SDK-তে অ্যাপ কনফিগারেশন।
একটি Google Workspace Marketplace-সামঞ্জস্যপূর্ণ OAuth ক্লায়েন্ট তৈরি করুন
একটি Google Workspace Marketplace-সামঞ্জস্যপূর্ণ OAuth ক্লায়েন্ট তৈরি করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
গুগল ক্লাউড কনসোলে, মেনু > IAM & Admin > পরিষেবা অ্যাকাউন্ট এ যান।
আপনার চ্যাট অ্যাপের জন্য তৈরি করা পরিষেবা অ্যাকাউন্টে ক্লিক করুন।
উন্নত সেটিংসে ক্লিক করুন।
Google Workspace Marketplace-সামঞ্জস্যপূর্ণ OAuth ক্লায়েন্ট তৈরি করুন ক্লিক করুন।
চালিয়ে যান ক্লিক করুন।
একটি নিশ্চিতকরণ বার্তা প্রদর্শিত হবে যা বলে যে একটি Google Workspace Marketplace-সামঞ্জস্যপূর্ণ OAuth ক্লায়েন্ট তৈরি করা হয়েছে।
Google Workspace Marketplace SDK-তে Chat অ্যাপ কনফিগার করুন
Google Workspace Marketplace SDK-তে Chat অ্যাপ কনফিগার করতে, এই ধাপগুলি অনুসরণ করুন:
গুগল ক্লাউড কনসোলে, গুগল ওয়ার্কস্পেস মার্কেটপ্লেস SDK সক্ষম করুন।
গুগল ক্লাউড কনসোলে, মেনু > APIs & Services > Enabled APIs & services > Google Workspace Marketplace SDK > অ্যাপ কনফিগারেশন এ যান।
অ্যাপ কনফিগারেশন পৃষ্ঠাটি সম্পূর্ণ করুন। আপনি আপনার চ্যাট অ্যাপটি কীভাবে কনফিগার করবেন তা আপনার পছন্দসই দর্শক এবং অন্যান্য বিষয়ের উপর নির্ভর করে। অ্যাপ কনফিগারেশন পৃষ্ঠাটি সম্পূর্ণ করতে সাহায্যের জন্য, Google Workspace Marketplace SDK-তে আপনার অ্যাপটি কনফিগার করুন দেখুন। এই নির্দেশিকার উদ্দেশ্যে, নিম্নলিখিত তথ্য লিখুন:
- অ্যাপ দৃশ্যমানতার অধীনে, ব্যক্তিগত নির্বাচন করুন।
- ইনস্টলেশন সেটিংস এর অধীনে, Individual + admin install নির্বাচন করুন।
- অ্যাপ ইন্টিগ্রেশনের অধীনে, চ্যাট অ্যাপ নির্বাচন করুন।
OAuth scopes এর অধীনে, আপনার Chat অ্যাপ ব্যবহার করে এমন সমস্ত প্রমাণীকরণ স্কোপ লিখুন।
ডেভেলপার তথ্যের অধীনে, আপনার ডেভেলপারের নাম , ডেভেলপার ওয়েবসাইটের URL এবং ডেভেলপারের ইমেল লিখুন।
খসড়া সংরক্ষণ করুন ক্লিক করুন।
প্রশাসকের অনুমোদন নিন
এখন যেহেতু আপনার পরিষেবা অ্যাকাউন্টটি প্রশাসকের অনুমোদন পাওয়ার জন্য কনফিগার করা হয়েছে, তাই এটি একজন Google Workspace প্রশাসকের কাছ থেকে নিন যিনি Chat অ্যাপের জন্য অনুমোদন সেট আপ করুন এর ধাপগুলি অনুসরণ করে অনুমোদন দিতে পারেন।
ধাপ ২: গুগল ক্লায়েন্ট লাইব্রেরি এবং অন্যান্য নির্ভরতা ইনস্টল করুন
প্রকল্পের জন্য প্রয়োজনীয় গুগল ক্লায়েন্ট লাইব্রেরি এবং অন্যান্য নির্ভরতা ইনস্টল করুন।
জাভা
আপনার 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>
পাইথন
যদি আপনি ইতিমধ্যেই পাইথনের জন্য গুগল ক্লায়েন্ট লাইব্রেরি ইনস্টল না করে থাকেন, তাহলে আপনার কমান্ড-লাইন ইন্টারফেসে নিম্নলিখিত কমান্ডটি চালান:
pip3 install --upgrade google-api-python-client google-authনোড.জেএস
আপনার Node.js প্রোজেক্টে Google ক্লায়েন্ট লাইব্রেরি যোগ করতে, আপনার প্রোজেক্টের ডিরেক্টরিতে যান এবং আপনার কমান্ড-লাইন ইন্টারফেসে নিম্নলিখিত কমান্ডটি চালান:
npm install "@googleapis/chat"অ্যাপস স্ক্রিপ্ট
এই নমুনাটি পরিষেবা অ্যাকাউন্ট প্রমাণীকরণের জন্য একটি JWT টোকেন তৈরি করতে OAuth2 for Apps Script লাইব্রেরি ব্যবহার করে। আপনার Apps Script প্রকল্পে লাইব্রেরি যোগ করতে:
- বাম দিকে, এডিটর ক্লিক করুন।
- বাম দিকে, Libraries এর পাশে, Add a library ক্লিক করুন।
- স্ক্রিপ্ট আইডি
1B7FSrk5Zi6L1rSxxTDgDEUsPzlukDsi4KGuTMorsTQHhGBzBkMun4iDFলিখুন। - "উঠে দেখুন" এ ক্লিক করুন, তারপর "যোগ করুন" এ ক্লিক করুন।
এই নমুনাটি Google Chat API কল করার জন্য Advanced Chat পরিষেবা ব্যবহার করে। আপনার Apps Script প্রকল্পের জন্য পরিষেবাটি চালু করতে:
- বাম দিকে, এডিটর ক্লিক করুন।
- বাম দিকে, Services এর পাশে, Add a service ক্লিক করুন।
- গুগল চ্যাট এপিআই নির্বাচন করুন।
- সংস্করণে , v1 নির্বাচন করুন।
- যোগ করুন ক্লিক করুন।
আপনি আমাদের ক্লায়েন্ট লাইব্রেরি দ্বারা সমর্থিত যেকোনো ভাষা ব্যবহার করতে পারেন।
ধাপ ৩: এমন একটি স্ক্রিপ্ট লিখুন যা চ্যাট API দিয়ে প্রমাণীকরণের জন্য পরিষেবা অ্যাকাউন্ট ব্যবহার করে।
নিম্নলিখিত কোডটি একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করে চ্যাট API-এর সাথে প্রমাণীকরণ করে, তারপর একটি চ্যাট স্পেসে একটি বার্তা পোস্ট করে:
জাভা
- আপনার প্রোজেক্টের ডিরেক্টরিতে,
src/main/java/com/google/chat/app/authsample/App.javaফাইলটি খুলুন। 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(); } }কোডে,
SPACE_NAMEএর পরিবর্তে একটি স্পেস নাম দিন, যা আপনি Chat API-এরspaces.listপদ্ধতি থেকে অথবা একটি স্পেসের URL থেকে পেতে পারেন।আপনার প্রকল্পের ডিরেক্টরির মধ্যে
resourcesনামে একটি নতুন সাবডিরেক্টরি তৈরি করুন।আপনার পরিষেবা অ্যাকাউন্টের জন্য প্রাইভেট কী ফাইলটির নাম
credentials.jsonকিনা তা নিশ্চিত করুন এবং এটিresourcesসাবডিরেক্টরিতে কপি করুন।প্রোজেক্ট প্যাকেজে প্রাইভেট কী ফাইল অন্তর্ভুক্ত করার জন্য Maven কনফিগার করতে, আপনার প্রোজেক্টের ডিরেক্টরিতে
pom.xmlফাইলটি সম্পাদনা করুন এবং<build>বিভাগে নিম্নলিখিত কনফিগারেশন যোগ করুন:<build> <!-- ... existing configurations ... --> <resources> <resource> <directory>resources</directory> </resource> </resources> </build>প্রোজেক্ট প্যাকেজে নির্ভরতা অন্তর্ভুক্ত করার জন্য এবং আপনার অ্যাপ্লিকেশনের প্রধান ক্লাস কার্যকর করার জন্য 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>
পাইথন
- আপনার ওয়ার্কিং ডিরেক্টরিতে,
chat_app_auth.pyনামে একটি ফাইল তৈরি করুন। 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)কোডে,
SPACE_NAMEএর পরিবর্তে একটি স্পেস নাম লিখুন, যা আপনি Chat API-এরspaces.listপদ্ধতি থেকে অথবা একটি স্পেসের URL থেকে পেতে পারেন। নিশ্চিত করুন যে আপনার পরিষেবা অ্যাকাউন্টের জন্য প্রাইভেট কী ফাইলটির নামcredentials.json।
নোড.জেএস
- আপনার প্রোজেক্টের ডিরেক্টরিতে,
chat_app_auth.jsনামে একটি ফাইল তৈরি করুন। 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);কোডে,
SPACE_NAMEএর পরিবর্তে একটি স্পেস নাম লিখুন, যা আপনি Chat API-এরspaces.listপদ্ধতি থেকে অথবা একটি স্পেসের URL থেকে পেতে পারেন। নিশ্চিত করুন যে আপনার পরিষেবা অ্যাকাউন্টের জন্য প্রাইভেট কী ফাইলটির নামcredentials.json।
অ্যাপস স্ক্রিপ্ট
অ্যাপস স্ক্রিপ্ট এডিটরে,
appsscript.jsonফাইলটি সম্পাদনা করুন এবং পরিষেবা অ্যাকাউন্ট OAuth টোকেন পাওয়ার জন্য বহিরাগত অনুরোধ করার জন্য প্রয়োজনীয় OAuth স্কোপ যোগ করুন:"oauthScopes": [ "https://www.googleapis.com/auth/script.external_request" ]আপনার অ্যাপস স্ক্রিপ্ট প্রজেক্টে
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()); }কোডে,
CREDENTIALSফাইলের বিষয়বস্তুcredentials.jsonদিয়ে প্রতিস্থাপন করুন।কোডে,
SPACE_NAMEএর পরিবর্তে একটি স্পেস নাম দিন, যা আপনি Chat API-এরspaces.listপদ্ধতি থেকে অথবা একটি স্পেসের URL থেকে পেতে পারেন।
ধাপ ৪: সম্পূর্ণ উদাহরণটি চালান
আপনার কার্যকরী ডিরেক্টরিতে, নমুনাটি তৈরি করুন এবং চালান:
জাভা
mvn compile assembly:singlejava -jar target/auth-sample-app-1.0-SNAPSHOT-jar-with-dependencies.jar
পাইথন
python3 chat_app_auth.pyনোড.জেএস
node chat_app_auth.jsঅ্যাপস স্ক্রিপ্ট
অ্যাপস স্ক্রিপ্ট এডিটরে ChatAppAuth.gs ফাইলটি খুলুন এবং Run এ ক্লিক করুন।
আপনার স্ক্রিপ্টটি Chat API- তে একটি প্রমাণিত অনুরোধ করে, যা একটি Chat স্পেসে একটি Chat অ্যাপ হিসেবে একটি বার্তা পোস্ট করে সাড়া দেয়।
উদাহরণের সমস্যা সমাধান করুন
এই নমুনাটি চালানোর সময় আপনার সম্মুখীন হতে পারে এমন সাধারণ সমস্যাগুলি এই বিভাগে বর্ণনা করা হয়েছে।
আপনার এই অ্যাপটি ব্যবহার করার অনুমতি নেই।
স্ক্রিপ্টটি চালানোর সময়, আপনি একটি ত্রুটি দেখতে পাবেন যা বলে:
<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 প্রশাসক এখনও https://www.googleapis.com/auth/chat.app.* নাম দিয়ে শুরু হওয়া অনুমোদনের স্কোপ ব্যবহার করার জন্য Chat অ্যাপটিকে এককালীন অনুমোদন দেননি।
ত্রুটিটি সমাধান করতে:
- Google Workspace অ্যাডমিনিস্ট্রেটরকে আপনার চ্যাট অ্যাপের অনুমোদন দিতে বলুন। আপনার চ্যাট অ্যাপ লজিকে এই ত্রুটিটি সমাধান করার সময়, অনুরোধ করা কাজটি সম্পাদন করার জন্য চ্যাট অ্যাপের প্রশাসকের অনুমোদন প্রয়োজন বলে ঘোষণা করে একটি বার্তা পাঠানোর কথা বিবেচনা করুন, সম্ভবত:
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 রেফারেন্স ডকুমেন্টেশন দেখুন।
সম্পর্কিত বিষয়
- চ্যাট API রেফারেন্স ডকুমেন্টেশন পর্যালোচনা করে চ্যাট API আর কী করতে পারে তা জানুন।
- যদি
https://www.googleapis.com/auth/chat.app.*দিয়ে শুরু হওয়া OAuth অনুমোদনের স্কোপ ব্যবহার করেন, তাহলে প্রশাসকরা কীভাবে এককালীন অনুমোদন দেন তা জানুন।