Google Workspace রিসোর্সের সাবস্ক্রিপশন তৈরি করতে কীভাবে Google Workspace Events API ব্যবহার করতে হয় তা এই পৃষ্ঠায় ব্যাখ্যা করা হয়েছে। Google Workspace সাবস্ক্রিপশন আপনার অ্যাপকে Google Workspace ইভেন্ট সম্পর্কে তথ্য পেতে দেয়, যা Google Workspace রিসোর্সের পরিবর্তনকে উপস্থাপন করে। Google Workspace Events API কোন কোন রিসোর্স ও ইভেন্টের ধরন সাপোর্ট করে তা জানতে, Google Workspace Events API ওভারভিউ দেখুন।
Google Workspace সাবস্ক্রিপশন তৈরি করার জন্য এই পৃষ্ঠায় নিম্নলিখিত ধাপগুলি অন্তর্ভুক্ত করা হয়েছে:
- আপনার এনভায়রনমেন্ট সেট-আপ করুন।
- Google Cloud Pub/Sub টপিক তৈরি করে সাবস্ক্রাইব করুন। Google Workspace ইভেন্ট পেতে এই ডকুমেন্টটি এন্ডপয়েন্ট হিসেবে ব্যবহার করুন।
Subscriptionরিসোর্সেcreateমেথড ব্যবহার করে Google Workspace Events API কল করুন।- আপনার সাবস্ক্রাইব করা ইভেন্ট Pub/Sub টপিক রিসিভ করছে কিনা তা যাচাই করতে, Google Workspace সাবস্ক্রিপশন টেস্ট করুন।
- বিকল্প হিসেবে, আপনার অ্যাপের জন্য কোনও এন্ডপয়েন্টে কীভাবে ইভেন্ট পুশ করতে হবে তা কনফিগার করুন, যাতে আপনার অ্যাপ ইভেন্ট প্রসেস করতে পারে এবং, প্রয়োজন হলে, অ্যাকশন নিতে পারে।
পূর্বশর্ত
Apps Script
- এই গাইডে Google Cloud CLI কমান্ড ব্যবহার করতে:
- Google Cloud CLI ইনস্টল করুন।
gcloudCLI ইনিশিয়ালাইজ করতে, নিম্নলিখিত কোড রান করুন:
gcloud init
- একটি Apps স্ক্রিপ্ট প্রোজেক্ট:
- Apps Script-এর মাধ্যমে অটোমেটিক তৈরি হওয়া ডিফল্ট প্রোজেক্টের পরিবর্তে আপনার Google Cloud প্রোজেক্ট ব্যবহার করুন।
- OAuth-এর সম্মতি সংক্রান্ত স্ক্রিন কনফিগার করার জন্য আপনি যেসব স্কোপ যোগ করেছেন, সেইসব স্কোপ আপনার Apps Script প্রোজেক্টের
appsscript.jsonফাইলে যোগ করতে হবে। যেমন, আপনিchat.messagesস্কোপ উল্লেখ করলে, নিম্নলিখিতগুলি যোগ করুন: Google Workspace Eventsউন্নত পরিষেবা চালু করুন।
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages" ]
- বিলিং চালু করা আছে এমন একটি Google Cloud প্রোজেক্ট। Chat-এ সাবস্ক্রিপশনের জন্য, আপনাকে Cloud প্রোজেক্টে Chat API চালু করতে হবে এবং অ্যাপের নাম, অবতার URL ও বিবরণ ফিল্ড কনফিগার করতে হবে। আরও জানতে, Google Chat অ্যাপ তৈরি করুন দেখুন।
-
সাবস্ক্রিপশনে প্রতিটি ইভেন্টের ধরনের জন্য উপযুক্ত অনুমোদনের স্কোপ এবং যাচাইকরণ প্রয়োজন:
- সাধারণত, অ্যাপের জন্য কনফিগার করা OAuth সম্মতি স্ক্রিনের মাধ্যমে ব্যবহারকারীর যাচাইকরণ প্রয়োজন। আপনি যখন সম্মতি স্ক্রিন কনফিগার করেন, তখন সাবস্ক্রিপশনের জন্য প্রতিটি ইভেন্টের ধরনকে সমর্থন করার জন্য আপনাকে অবশ্যই একটি স্কোপ নির্দিষ্ট করতে হবে। সম্মতি সংক্রান্ত স্ক্রিন কনফিগার করতে এবং প্রয়োজনীয় স্কোপ শনাক্ত করতে, স্কোপ বেছে নিন বিকল্প দেখুন।
- Chat অ্যাপ হিসেবে Chat ইভেন্টে সাবস্ক্রাইব করার জন্য এককালীন অ্যাডমিনিস্ট্রেটর অনুমোদনের মাধ্যমে অ্যাপ যাচাইকরণ করতে হবে।
Python
- Python 3.6 বা তার পরবর্তী ভার্সন
- pip প্যাকেজ ম্যানেজমেন্ট টুল
- Python-এর জন্য লেটেস্ট Google ক্লায়েন্ট লাইব্রেরি। সেগুলি ইনস্টল বা আপডেট করতে, আপনার কমান্ড-লাইন ইন্টারফেসে
নিম্নলিখিত কমান্ড রান করুন:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- এই গাইডে Google Cloud CLI কমান্ড ব্যবহার করতে:
- Google Cloud CLI ইনস্টল করুন।
gcloudCLI ইনিশিয়ালাইজ করতে, নিম্নলিখিত কোড রান করুন:
gcloud init
- বিলিং চালু করা আছে এমন একটি Google Cloud প্রোজেক্ট। Chat-এ সাবস্ক্রিপশনের জন্য, আপনাকে অবশ্যই আপনার Cloud প্রোজেক্টে Chat API চালু করতে হবে এবং অ্যাপের নাম, অবতার URL এবং বিবরণ ফিল্ড কনফিগার করতে হবে। আরও জানতে, Google Chat অ্যাপ তৈরি করুন।
-
সাবস্ক্রিপশনে প্রতিটি ইভেন্টের ধরনের জন্য উপযুক্ত অনুমোদনের স্কোপ এবং যাচাইকরণ প্রয়োজন:
- সাধারণত, অ্যাপের জন্য কনফিগার করা OAuth সম্মতি স্ক্রিনের মাধ্যমে ব্যবহারকারীর যাচাইকরণ প্রয়োজন। আপনি যখন সম্মতি স্ক্রিন কনফিগার করেন, তখন সাবস্ক্রিপশনের জন্য প্রতিটি ইভেন্টের ধরনকে সমর্থন করার জন্য আপনাকে অবশ্যই একটি স্কোপ নির্দিষ্ট করতে হবে। সম্মতি সংক্রান্ত স্ক্রিন কনফিগার করতে এবং প্রয়োজনীয় স্কোপ শনাক্ত করতে, স্কোপ বেছে নিন বিকল্প দেখুন।
- Chat অ্যাপ হিসেবে Chat ইভেন্টে সাবস্ক্রাইব করার জন্য এককালীন অ্যাডমিনিস্ট্রেটর অনুমোদনের মাধ্যমে অ্যাপ যাচাইকরণ করতে হবে।
আপনার পরিবেশ সেট-আপ করুন
Google Workspace সাবস্ক্রিপশন তৈরি করার আগে কীভাবে আপনার এনভায়রনমেন্ট সেট-আপ করবেন তা নিম্নলিখিত বিভাগে ব্যাখ্যা করা হয়েছে।
Google Workspace Events API এবং Google Cloud Pub/Sub API চালু করুন
Google API ব্যবহার করার আগে, আপনাকে Google Cloud প্রোজেক্টে সেগুলি চালু করতে হবে। আপনি একটি Google Cloud প্রোজেক্টে এক বা একাধিক API চালু করতে পারবেন।Google Cloud কনসোল
Google Cloud কনসোলে, আপনার অ্যাপের জন্য Google Cloud প্রোজেক্ট খুলুন এবং Google Workspace Events API ও Pub/Sub API চালু করুন:
gcloud
আপনার ওয়ার্কিং ডিরেক্টরিতে, আপনার Google অ্যাকাউন্টে সাইন-ইন করুন:
gcloud auth loginআপনার অ্যাপের জন্য ক্লাউড প্রোজেক্টে আপনার প্রোজেক্ট সেট করুন:
gcloud config set project PROJECT_IDআপনার অ্যাপের জন্য ক্লাউড প্রোজেক্টের প্রোজেক্ট আইডি দিয়ে
PROJECT_IDপরিবর্তন করুন।Google Workspace Events API এবং Google Cloud Pub/Sub API চালু করুন:
gcloud services enable pubsub.googleapis.com workspaceevents.googleapis.com
OAuth ক্লায়েন্ট আইডি ক্রেডেনশিয়াল তৈরি করুন
OAuth ক্লায়েন্ট আইডি কীভাবে তৈরি করতে হয় সেই সম্পর্কে নির্দিষ্ট নির্দেশাবলীর জন্য আপনার অ্যাপ্লিকেশন টাইপ বেছে নিন:
ওয়েব অ্যাপ্লিকেশন
- Google Cloud Console-এ, 'মেনু > Google Auth প্ল্যাটফর্ম > ক্লায়েন্ট' বিকল্পে যান।
- ক্লায়েন্ট তৈরি করুন বিকল্পে ক্লিক করুন।
- অ্যাপ্লিকেশনের ধরন > ওয়েব অ্যাপ্লিকেশন বিকল্পে ক্লিক করুন।
- নাম ফিল্ডে, ক্রেডেনশিয়ালের জন্য একটি নাম টাইপ করুন। এই নাম শুধুমাত্র Google Cloud Console-এ দেখানো হয়।
- আপনার অ্যাপের সাথে সম্পর্কিত অনুমোদিত URI যোগ করুন:
- ক্লায়েন্ট-সাইড অ্যাপ (জাভাস্ক্রিপ্ট)–অনুমোদিত জাভাস্ক্রিপ্ট অরিজিন বিকল্পের মধ্যে, URI যোগ করুন বিকল্পে ক্লিক করুন। তারপর, ব্রাউজার অনুরোধের জন্য ব্যবহার করতে একটি URI লিখুন। এটি সেইসব ডোমেন শনাক্ত করে যেগুলি থেকে আপনার অ্যাপ্লিকেশন OAuth 2.0 সার্ভারে API অনুরোধ পাঠাতে পারে।
- সার্ভার-সাইড অ্যাপ (Java, Python এবং আরও অনেক কিছু)–অনুমোদিত রিডাইরেক্ট URI বিকল্পের মধ্যে, URI যোগ করুন বিকল্পে ক্লিক করুন। তারপর, একটি এন্ডপয়েন্ট URI লিখুন যেখানে OAuth 2.0 সার্ভার উত্তর পাঠাতে পারবে।
- ঐচ্ছিক: আপনার অ্যাপ যদি এমন কোনও AI এজেন্ট হয় যা ব্যবহারকারীর হয়ে অ্যাকশন নেয়, তাহলে AI-পরিচালিত এজেন্টের জন্য এই ক্লায়েন্ট ব্যবহার করুন বিকল্প বেছে নিন। আপনার অ্যাপ যদি AI এজেন্ট ওয়ার্কফ্লো এবং স্ট্যান্ডার্ড ব্যবহারকারী ফিচার, দুটির সাথেই কাজ করে, তাহলে প্রতিটির জন্য আলাদা OAuth ক্লায়েন্ট তৈরি করুন। ক্লায়েন্ট তৈরি করার পরে আপনি এই সেটিং পরিবর্তন করতে পারবেন না।
- তৈরি করুন বিকল্পে ক্লিক করুন।
নতুন তৈরি করা ক্রেডেনশিয়াল OAuth 2.0 ক্লায়েন্ট আইডি-এর অধীনে দেখা যায়।
মনে রাখবেন, ওয়েব অ্যাপ্লিকেশনের জন্য ক্লায়েন্ট সিক্রেট ব্যবহার করা হয় না।
Android
- Google Cloud Console-এ, 'মেনু > Google Auth প্ল্যাটফর্ম > ক্লায়েন্ট' বিকল্পে যান।
- ক্লায়েন্ট তৈরি করুন বিকল্পে ক্লিক করুন।
- অ্যাপ্লিকেশনের ধরন > Android বিকল্পে ক্লিক করুন।
- নাম ফিল্ডে, ক্রেডেনশিয়ালের জন্য একটি নাম টাইপ করুন। এই নাম শুধুমাত্র Google Cloud Console-এ দেখানো হয়।
- প্যাকেজের নাম ফিল্ডে, আপনার
AndroidManifest.xmlফাইল থেকে প্যাকেজের নাম লিখুন। - SHA-1 সার্টিফিকেট ফিঙ্গারপ্রিন্ট ফিল্ডে, আপনার তৈরি করা SHA-1 সার্টিফিকেট ফিঙ্গারপ্রিন্ট লিখুন।
- ঐচ্ছিক: আপনার অ্যাপ যদি এমন কোনও AI এজেন্ট হয় যা ব্যবহারকারীর হয়ে অ্যাকশন নেয়, তাহলে AI-পরিচালিত এজেন্টের জন্য এই ক্লায়েন্ট ব্যবহার করুন বিকল্প বেছে নিন। আপনার অ্যাপ যদি AI এজেন্ট ওয়ার্কফ্লো এবং স্ট্যান্ডার্ড ব্যবহারকারী ফিচার, দুটির সাথেই কাজ করে, তাহলে প্রতিটির জন্য আলাদা OAuth ক্লায়েন্ট তৈরি করুন। ক্লায়েন্ট তৈরি করার পরে আপনি এই সেটিং পরিবর্তন করতে পারবেন না।
- তৈরি করুন বিকল্পে ক্লিক করুন।
নতুন তৈরি করা ক্রেডেনশিয়াল "OAuth 2.0 ক্লায়েন্ট আইডি" বিকল্পের অধীনে দেখা যাবে।
iOS
- Google Cloud Console-এ, 'মেনু > Google Auth প্ল্যাটফর্ম > ক্লায়েন্ট' বিকল্পে যান।
- ক্লায়েন্ট তৈরি করুন বিকল্পে ক্লিক করুন।
- অ্যাপ্লিকেশনের ধরন > iOS বিকল্পে ক্লিক করুন।
- নাম ফিল্ডে, ক্রেডেনশিয়ালের জন্য একটি নাম টাইপ করুন। এই নাম শুধুমাত্র Google Cloud Console-এ দেখানো হয়।
- বান্ডেল আইডি ফিল্ডে, অ্যাপের
Info.plistফাইলে তালিকাভুক্ত বান্ডেল শনাক্তকারী লিখুন। - ঐচ্ছিক: আপনার অ্যাপ Apple App Store-এ দেখা গেলে, App Store আইডি লিখুন।
- ঐচ্ছিক: টিম আইডি ফিল্ডে, Apple-এর তৈরি করা এবং আপনার টিমকে অ্যাসাইন করা অনন্য ১০-অক্ষরের স্ট্রিং লিখুন।
- ঐচ্ছিক: আপনার অ্যাপ যদি এমন কোনও AI এজেন্ট হয় যা ব্যবহারকারীর হয়ে অ্যাকশন নেয়, তাহলে AI-পরিচালিত এজেন্টের জন্য এই ক্লায়েন্ট ব্যবহার করুন বিকল্প বেছে নিন। আপনার অ্যাপ যদি AI এজেন্ট ওয়ার্কফ্লো এবং স্ট্যান্ডার্ড ব্যবহারকারী ফিচার, দুটির সাথেই কাজ করে, তাহলে প্রতিটির জন্য আলাদা OAuth ক্লায়েন্ট তৈরি করুন। ক্লায়েন্ট তৈরি করার পরে আপনি এই সেটিং পরিবর্তন করতে পারবেন না।
- তৈরি করুন বিকল্পে ক্লিক করুন।
নতুন তৈরি করা ক্রেডেনশিয়াল "OAuth 2.0 ক্লায়েন্ট আইডি" বিকল্পের অধীনে দেখা যাবে।
Chrome অ্যাপ
- Google Cloud Console-এ, 'মেনু > Google Auth প্ল্যাটফর্ম > ক্লায়েন্ট' বিকল্পে যান।
- ক্লায়েন্ট তৈরি করুন বিকল্পে ক্লিক করুন।
- অ্যাপ্লিকেশনের ধরন > Chrome এক্সটেনশন বিকল্পে ক্লিক করুন।
- নাম ফিল্ডে, ক্রেডেনশিয়ালের জন্য একটি নাম টাইপ করুন। এই নাম শুধুমাত্র Google Cloud Console-এ দেখানো হয়।
- আইটেম আইডি ফিল্ডে, আপনার অ্যাপের অনন্য ৩২-অক্ষরের আইডি স্ট্রিং লিখুন। আপনার অ্যাপের Chrome Web Store URL এবং Chrome Web Store Developer Dashboard-এ এই আইডি ভ্যালু দেখতে পাবেন।
- ঐচ্ছিক: আপনার অ্যাপ যদি এমন কোনও AI এজেন্ট হয় যা ব্যবহারকারীর হয়ে অ্যাকশন নেয়, তাহলে AI-পরিচালিত এজেন্টের জন্য এই ক্লায়েন্ট ব্যবহার করুন বিকল্প বেছে নিন। আপনার অ্যাপ যদি AI এজেন্ট ওয়ার্কফ্লো এবং স্ট্যান্ডার্ড ব্যবহারকারী ফিচার, দুটির সাথেই কাজ করে, তাহলে প্রতিটির জন্য আলাদা OAuth ক্লায়েন্ট তৈরি করুন। ক্লায়েন্ট তৈরি করার পরে আপনি এই সেটিং পরিবর্তন করতে পারবেন না।
- তৈরি করুন বিকল্পে ক্লিক করুন।
নতুন তৈরি করা ক্রেডেনশিয়াল "OAuth 2.0 ক্লায়েন্ট আইডি" বিকল্পের অধীনে দেখা যাবে।
ডেস্কটপ অ্যাপ
- Google Cloud Console-এ, 'মেনু > Google Auth প্ল্যাটফর্ম > ক্লায়েন্ট' বিকল্পে যান।
- ক্লায়েন্ট তৈরি করুন বিকল্পে ক্লিক করুন।
- অ্যাপ্লিকেশনের ধরন > ডেস্কটপ অ্যাপ বিকল্পে ক্লিক করুন।
- নাম ফিল্ডে, ক্রেডেনশিয়ালের জন্য একটি নাম টাইপ করুন। এই নাম শুধুমাত্র Google Cloud Console-এ দেখানো হয়।
- ঐচ্ছিক: আপনার অ্যাপ যদি এমন কোনও AI এজেন্ট হয় যা ব্যবহারকারীর হয়ে অ্যাকশন নেয়, তাহলে AI-পরিচালিত এজেন্টের জন্য এই ক্লায়েন্ট ব্যবহার করুন বিকল্প বেছে নিন। আপনার অ্যাপ যদি AI এজেন্ট ওয়ার্কফ্লো এবং স্ট্যান্ডার্ড ব্যবহারকারী ফিচার, দুটির সাথেই কাজ করে, তাহলে প্রতিটির জন্য আলাদা OAuth ক্লায়েন্ট তৈরি করুন। ক্লায়েন্ট তৈরি করার পরে আপনি এই সেটিং পরিবর্তন করতে পারবেন না।
- তৈরি করুন বিকল্পে ক্লিক করুন।
নতুন তৈরি করা ক্রেডেনশিয়াল "OAuth 2.0 ক্লায়েন্ট আইডি" বিকল্পের অধীনে দেখা যাবে।
টিভি ও লিমিটেড ইনপুট ডিভাইস
- Google Cloud Console-এ, 'মেনু > Google Auth প্ল্যাটফর্ম > ক্লায়েন্ট' বিকল্পে যান।
- ক্লায়েন্ট তৈরি করুন বিকল্পে ক্লিক করুন।
- অ্যাপ্লিকেশনের ধরন > টিভি ও লিমিটেড ইনপুট ডিভাইস বিকল্পে ক্লিক করুন।
- নাম ফিল্ডে, ক্রেডেনশিয়ালের জন্য একটি নাম টাইপ করুন। এই নাম শুধুমাত্র Google Cloud Console-এ দেখানো হয়।
- ঐচ্ছিক: আপনার অ্যাপ যদি এমন কোনও AI এজেন্ট হয় যা ব্যবহারকারীর হয়ে অ্যাকশন নেয়, তাহলে AI-পরিচালিত এজেন্টের জন্য এই ক্লায়েন্ট ব্যবহার করুন বিকল্প বেছে নিন। আপনার অ্যাপ যদি AI এজেন্ট ওয়ার্কফ্লো এবং স্ট্যান্ডার্ড ব্যবহারকারী ফিচার, দুটির সাথেই কাজ করে, তাহলে প্রতিটির জন্য আলাদা OAuth ক্লায়েন্ট তৈরি করুন। ক্লায়েন্ট তৈরি করার পরে আপনি এই সেটিং পরিবর্তন করতে পারবেন না।
- তৈরি করুন বিকল্পে ক্লিক করুন।
নতুন তৈরি করা ক্রেডেনশিয়াল "OAuth 2.0 ক্লায়েন্ট আইডি" বিকল্পের অধীনে দেখা যাবে।
Universal Windows Platform (UWP)
- Google API Console-এ, 'মেনু > > ক্লায়েন্ট' বিকল্পে যান।
- ক্লায়েন্ট তৈরি করুন বিকল্পে ক্লিক করুন।
- অ্যাপ্লিকেশনের ধরন > Universal Windows Platform (UWP) বিকল্পে ক্লিক করুন।
- "নাম" ফিল্ডে, ক্রেডেনশিয়ালের জন্য একটি নাম টাইপ করুন। এই নাম শুধু Google API কনসোলে দেখানো হয়।
- "স্টোর আইডি" ফিল্ডে, আপনার অ্যাপের অনন্য, ১২-অক্ষরের Microsoft Store ID ভ্যালু লিখুন। আপনার অ্যাপের Microsoft Store URL এবং পার্টনার সেন্টার-এ এই আইডি দেখতে পাবেন।
- ঐচ্ছিক: আপনার অ্যাপ যদি এমন কোনও AI এজেন্ট হয় যা ব্যবহারকারীর হয়ে অ্যাকশন নেয়, তাহলে AI-পরিচালিত এজেন্টের জন্য এই ক্লায়েন্ট ব্যবহার করুন বিকল্প বেছে নিন। আপনার অ্যাপ যদি AI এজেন্ট ওয়ার্কফ্লো এবং স্ট্যান্ডার্ড ব্যবহারকারী ফিচার, দুটির সাথেই কাজ করে, তাহলে প্রতিটির জন্য আলাদা OAuth ক্লায়েন্ট তৈরি করুন। ক্লায়েন্ট তৈরি করার পরে আপনি এই সেটিং পরিবর্তন করতে পারবেন না।
- তৈরি করুন বিকল্পে ক্লিক করুন।
নতুন তৈরি করা ক্রেডেনশিয়াল "OAuth 2.0 ক্লায়েন্ট আইডি" বিকল্পের অধীনে দেখা যাবে।
ক্লায়েন্ট সিক্রেট JSON ফাইল ডাউনলোড করুন
ক্লায়েন্ট সিক্রেট ফাইল হল OAuth ক্লায়েন্ট আইডি ক্রেডেনশিয়ালের JSON উপস্থাপনা যা ক্রেডেনশিয়াল প্রদান করার সময় আপনার অ্যাপ রেফারেন্স হিসেবে ব্যবহার করতে পারে।
Google API কনসোলে, 'মেনু > API ও পরিষেবা > ক্রেডেনশিয়াল' বিকল্পে যান।
OAuth 2.0 ক্লায়েন্ট আইডি-এর অধীনে, আপনার তৈরি করা ক্লায়েন্ট আইডিতে ক্লিক করুন।
JSON ডাউনলোড করুন বিকল্পে ক্লিক করুন।
credentials.jsonহিসেবে ফাইলটি সেভ করুন।
Pub/Sub টপিক তৈরি ও সাবস্ক্রাইব করা
এই বিভাগে, আপনি একটি Pub/Sub বিষয় এবং বিষয়ের সাবস্ক্রিপশন তৈরি করেন। আপনার Pub/Sub বিষয় বিজ্ঞপ্তি এন্ডপয়েন্ট হিসেবে কাজ করে যেখানে আপনার Google Workspace সাবস্ক্রিপশন ইভেন্ট পায়।
Pub/Sub বিষয় তৈরি ও ম্যানেজ করা সম্পর্কে আরও জানতে, Pub/Sub ডকুমেন্টেশন দেখুন।
Pub/Sub বিষয়ে সাবস্ক্রাইব ও তৈরি করতে:
Google API Console
Google API Console-এ, Pub/Sub পৃষ্ঠায় যান:
আপনার অ্যাপের জন্য ক্লাউড প্রোজেক্ট বেছে নেওয়া হয়েছে কিনা তা ভাল করে দেখে নিন।
টপিক তৈরি করুন বিকল্পে ক্লিক করে নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
- আপনার বিষয়ের জন্য একটি নাম লিখুন, যেমন
workspace-events-topic। - ডিফল্ট সাবস্ক্রিপশন যোগ করুন বিকল্পটি বেছে নিন। Pub/Sub এই ডিফল্ট সাবস্ক্রিপশনের নাম আপনার বিষয়ের নামের মতো করে, যেমন
workspace-events-topic-sub. - ঐচ্ছিক: আপনার বিষয়ের জন্য অতিরিক্ত প্রপার্টি আপডেট বা কনফিগার করুন।
- আপনার বিষয়ের জন্য একটি নাম লিখুন, যেমন
তৈরি করুন বিকল্পে ক্লিক করুন। আপনার বিষয়ের সম্পূর্ণ নাম এইভাবে ফর্ম্যাট করা হয়েছে
projects/PROJECT_ID/topics/TOPIC_ID। পরবর্তী ধাপে এই সম্পূর্ণ নামটি ব্যবহার করুন।আপনার বিষয়ে Pub/Sub মেসেজ প্রকাশ করার অ্যাক্সেস দিন:
- আপনার বিষয়ের পৃষ্ঠায়, সাইড প্যানেলে যান এবং অনুমতি ট্যাব খুলুন।
- প্রিন্সিপাল যোগ করুন বিকল্পে ক্লিক করুন।
- প্রিন্সিপাল যোগ করুন ফিল্ডে, Google Workspace অ্যাপ্লিকেশনের জন্য
পরিষেবা অ্যাকাউন্ট যোগ করুন যা আপনার সাবস্ক্রিপশনে
ইভেন্ট ডেলিভার করে:
- Chat ইভেন্টের জন্য,
chat-api-push@system.gserviceaccount.com। - Drive ইভেন্টের জন্য,
drive-api-event-push@system.gserviceaccount.com। - Meet ইভেন্টের জন্য,
meet-api-event-push@system.gserviceaccount.com।
- Chat ইভেন্টের জন্য,
- ভূমিকা অ্যাসাইন করুন মেনু থেকে
Pub/Sub Publisherবেছে নিন। - সেভ করুন বিকল্পে ক্লিক করুন। আপনার বিষয়ের জন্য অনুমতি আপডেট করতে কয়েক মিনিট সময় লাগতে পারে।
gcloud
আপনার Cloud প্রোজেক্টে, নিম্নলিখিত কমান্ড রান করে একটি বিষয় তৈরি করুন:
gcloud pubsub topics create TOPIC_IDআপনার বিষয়ের জন্য
TOPIC_ID-এর পরিবর্তে একটি অনন্য আইডি ব্যবহার করুন, যেমনworkspace-events-topic।আউটপুটে সম্পূর্ণ বিষয়ের নাম দেখানো হয়, যা
projects/PROJECT_ID/topics/TOPIC_IDহিসেবে ফর্ম্যাট করা থাকে। নামটি নোট করে নিন এবং নিশ্চিত করুন যে PROJECT_ID-এর ভ্যালু হল আপনার অ্যাপের জন্য Cloud প্রোজেক্ট আইডি। নিম্নলিখিত ধাপে এবং পরে Google Workspace সাবস্ক্রিপশন তৈরি করতে বিষয়ের নামটি ব্যবহার করুন।আপনার বিষয়ে মেসেজ প্রকাশ করার জন্য অ্যাক্সেস দিন:
gcloud pubsub topics add-iam-policy-binding TOPIC_NAME --member='serviceAccount:GOOGLE_WORKSPACE_APPLICATION' --role='roles/pubsub.publisher'নিম্নলিখিতগুলি পরিবর্তন করুন:
TOPIC_NAME: বিষয়ের সম্পূর্ণ নাম, যা আগের ধাপের আউটপুট।projects/PROJECT_ID/topics/TOPIC_IDহিসেবে ফর্ম্যাট করা হয়েছে।GOOGLE_WORKSPACE_APPLICATION: Google Workspace অ্যাপ্লিকেশন যা আপনার সাবস্ক্রিপশনে অবশ্যই ইভেন্ট ডেলিভার করবে:- Chat থেকে ইভেন্ট পেতে, নিম্নলিখিত পরিষেবা অ্যাকাউন্টগুলির
মধ্যে একটি ব্যবহার করুন:
- Chat অ্যাপের (Google Workspace অ্যাড-অন হিসেবে তৈরি যা Chat-এর কার্যকারিতা বাড়ায়) জন্য, Chat API কনফিগারেশন পৃষ্ঠায় পরিষেবা অ্যাকাউন্টের ইমেল ব্যবহার করুন। আরও জানতে, Pub/Sub ব্যবহার করে এমন Google Chat অ্যাপ তৈরি করুন দেখুন।
- যেসব Chat অ্যাপ অ্যাড-অন নয়, সেগুলির জন্য
chat-api-push@system.gserviceaccount.comব্যবহার করুন। আরও জানতে, Pub/Sub ব্যবহার করে এমন Google Chat অ্যাপ তৈরি করুন দেখুন।
- Drive থেকে ইভেন্ট পেতে,
drive-api-event-push@system.gserviceaccount.comব্যবহার করুন। - Meet থেকে ইভেন্ট পেতে,
meet-api-event-push@system.gserviceaccount.comব্যবহার করুন।
- Chat থেকে ইভেন্ট পেতে, নিম্নলিখিত পরিষেবা অ্যাকাউন্টগুলির
মধ্যে একটি ব্যবহার করুন:
আপনার বিষয়ের জন্য অনুমতি আপডেট করতে কয়েক মিনিট সময় লাগতে পারে।
এই বিষয়ের জন্য Pub/Sub সাবস্ক্রিপশন তৈরি করুন:
gcloud pubsub subscriptions create SUBSCRIPTION_NAME --topic=TOPIC_NAMEনিম্নলিখিতগুলি পরিবর্তন করুন:
SUBSCRIPTION_NAME: আপনার সাবস্ক্রিপশনের নাম, যেমনworkspace-events-subscription।TOPIC_NAME: আগের ধাপে আপনার তৈরি করা বিষয়ের নাম।
Google Workspace রিসোর্স সাবস্ক্রাইব করা
এই বিভাগে, আপনি Google Workspace রিসোর্স সাবস্ক্রাইব করেন যা আপনি ইভেন্টের জন্য মনিটর করতে চান।
টার্গেট রিসোর্স বেছে নিয়ে শনাক্ত করুন
Google Workspace সাবস্ক্রিপশনে, টার্গেট রিসোর্স হল
Google Workspace রিসোর্স যা আপনি ইভেন্টের জন্য মনিটর করেন। টার্গেট
রিসোর্স সাবস্ক্রিপশনের
targetResource
ফিল্ডে দেখানো হয়, সম্পূর্ণ রিসোর্স নাম ব্যবহার করে ফর্ম্যাট করা হয়। যেমন, Chat স্পেস (spaces/AAAABBBBBBB) মনিটর করে এমন সাবস্ক্রিপশনের জন্য,
targetResource-এর ভ্যালু হল //chat.googleapis.com/spaces/AAAABBBBBBB।
Chat-এর জন্য টার্গেট রিসোর্স শনাক্ত করা
| টার্গেট রিসোর্স | ফর্ম্যাট | সীমাবদ্ধতা |
|---|---|---|
| স্পেস |
যেখানে SPACE হল Chat API |
যে Chat ব্যবহারকারী বা Chat অ্যাপ সাবস্ক্রিপশন অনুমোদন করে তাকে অবশ্যই Google Workspace বা Google অ্যাকাউন্টের মাধ্যমে স্পেসের মেম্বার হতে হবে। এতে কাজ করে: |
| কোনও ব্যবহারকারীর জন্য সব স্পেস |
|
সাবস্ক্রিপশন শুধুমাত্র সেইসব স্পেসের জন্য ইভেন্ট পায় যেখানে ব্যবহারকারী তার Google Workspace বা Google অ্যাকাউন্টের মাধ্যমে একজন মেম্বার। শুধুমাত্র ব্যবহারকারীর পরিচয় যাচাইকরণ কাজ করে। |
| ব্যবহারকারী |
যেখানে USER হল Chat API |
সাবস্ক্রিপশন শুধুমাত্র সেই ব্যবহারকারীর সম্পর্কে ইভেন্ট পায় যে সাবস্ক্রিপশন অনুমোদন করেছে। একজন ব্যবহারকারী অন্য ব্যবহারকারীর হয়ে সাবস্ক্রিপশন অনুমোদন করতে পারবেন না। শুধুমাত্র ব্যবহারকারীর পরিচয় যাচাইকরণ কাজ করে। |
| গ্রাহক ( ডেভেলপার প্রিভিউ) |
যেখানে CUSTOMER হল কাস্টমার আইডি। এছাড়াও, আপনি Chat অ্যাপের গ্রাহক ডোমেনের জন্য |
সাবস্ক্রিপশনটি গ্রাহক ডোমেন দ্বারা ম্যানেজ করা সমস্ত স্পেস এবং ব্যবহারকারীদের জন্য ইভেন্ট গ্রহণ করে। শুধুমাত্র অ্যাডমিনিস্ট্রেটরের অনুমোদন সহ অ্যাপ যাচাইকরণ কাজ করে। |
Drive-এর জন্য টার্গেট রিসোর্স শনাক্ত করুন
| টার্গেট রিসোর্স | ফর্ম্যাট | সীমাবদ্ধতা (প্রযোজ্য হলে) |
|---|---|---|
| ফাইল |
//drive.googleapis.com/files/FILE
যেখানে FILE হল Drive API |
যে ব্যবহারকারী সাবস্ক্রিপশন অনুমোদন করেন, তার কাছে সাবস্ক্রিপশনের মধ্যে থাকা ফাইলের অনুমতি থাকতে হবে। সাবস্ক্রিপশনটি ইভেন্টে সাবস্ক্রাইব করার সাথে সম্পর্কিত হতে হবে। |
| শেয়ার্ড ড্রাইভ |
//drive.googleapis.com/drives/DRIVE
যেখানে DRIVE হল Drive API |
সাবস্ক্রিপশন শুধুমাত্র শেয়ার করা ড্রাইভে আইটেমের জন্য ইভেন্ট পায় যেখানে ব্যবহারকারী তার Google Workspace অ্যাকাউন্ট বা Google অ্যাকাউন্টের মাধ্যমে মেম্বার। |
Meet-এর জন্য টার্গেট রিসোর্স শনাক্ত করা
| টার্গেট রিসোর্স | ফর্ম্যাট | সীমাবদ্ধতা (প্রযোজ্য হলে) |
|---|---|---|
| মিটিং স্পেস | //meet.googleapis.com/spaces/SPACE
যেখানে SPACE হল Meet REST API |
|
| ব্যবহারকারী | //cloudidentity.googleapis.com/users/USER
যেখানে USER হল Meet REST API |
সাবস্ক্রিপশনটি সেইসব মিটিং স্পেসের ইভেন্ট সম্পর্কে তথ্য পায় যেখানে ব্যবহারকারী মিটিং স্পেসের মালিক। সাধারণত, মিটিং স্পেসের মালিকই মিটিং স্পেসের সাথে যুক্ত Google Calendar ইভেন্টের আয়োজক হন। |
Google Workspace সাবস্ক্রিপশন তৈরি করুন
সাবস্ক্রিপশন তৈরি করতে, Google Workspace Events API-এর
subscriptions.create পদ্ধতি ব্যবহার করে একটি
Subscription রিসোর্স তৈরি করুন।
নিম্নলিখিত ফিল্ডগুলি উল্লেখ করুন:
targetResource: Google Workspace যা আপনি আগের বিভাগে শনাক্ত করেছেন, সম্পূর্ণ রিসোর্স নাম ব্যবহার করে ফর্ম্যাট করা হয়েছে।eventTypes: রিসোর্স সম্পর্কে আপনি এক বা একাধিক ইভেন্টের ধরন পেতে চান। যেমন, আপনার অ্যাপকে যদি শুধু Chat স্পেসে পোস্ট করা নতুন মেসেজ সম্পর্কে জানতে হয়, তাহলে আপনার অ্যাপ শুধু তৈরি করা মেসেজ সম্পর্কিত ইভেন্টে সাবস্ক্রাইব করতে পারে।notificationEndpoint: একটি বিজ্ঞপ্তি এন্ডপয়েন্ট যেখানে আপনার Google Workspace সাবস্ক্রিপশন ইভেন্ট ডেলিভার করে। আগের বিভাগে আপনার তৈরি করা Pub/Sub বিষয় ব্যবহার করুন।payloadOptions: ইভেন্ট পেলোডে কতটা রিসোর্স ডেটা অন্তর্ভুক্ত করতে হবে তা নির্দিষ্ট করার বিকল্প। এই কনফিগারেশন আপনার সাবস্ক্রিপশনের মেয়াদ শেষ হওয়ার সময়কে প্রভাবিত করে। আরও জানতে, ইভেন্ট ডেটা দেখুন।
Google Workspace সাবস্ক্রিপশন তৈরি করতে:
Apps Script
আপনার Apps Script প্রোজেক্টে,
createSubscriptionনামে একটি নতুন স্ক্রিপ্ট ফাইল তৈরি করুন এবং নিম্নলিখিত কোড যোগ করুন:function createSubscription() { // The Google Workspace resource to monitor for events. const targetResource = 'TARGET_RESOURCE'; // The types of events to receive. const eventTypes = [EVENT_TYPES]; // The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic. const pubsubTopic = 'TOPIC_NAME'; // Whether to include resource data or not. const resourceData = RESOURCE_DATA; // Call the Workspace Events API using the advanced service. const response = WorkspaceEvents.Subscriptions.create({ targetResource: targetResource, eventTypes: eventTypes, notificationEndpoint: { pubsubTopic: pubsubTopic, }, payloadOptions: { includeResource: resourceData } }); console.log(response); }নিম্নলিখিতগুলি পরিবর্তন করুন:
TARGET_RESOURCE: আপনি যে Google Workspace রিসোর্স সাবস্ক্রাইব করছেন, সেটি সম্পূর্ণ রিসোর্স নাম হিসেবে ফর্ম্যাট করা হয়েছে। যেমন,AAAABBBBস্পেস আইডি সহ Chat স্পেসে সাবস্ক্রাইব করতে,//chat.googleapis.com/spaces/AAAABBBBব্যবহার করুন।EVENT_TYPES: টার্গেট রিসোর্সে আপনি সাবস্ক্রাইব করতে চান এমন এক বা একাধিক ইভেন্টের ধরন।'google.workspace.chat.message.v1.created'-এর মতো স্ট্রিংয়ের অ্যারে হিসেবে ফর্ম্যাট করুন।TOPIC_NAME: আপনার Cloud প্রোজেক্টে তৈরি করা Pub/Sub বিষয়ের সম্পূর্ণ নাম।projects/PROJECT_ID/topics/TOPIC_IDহিসেবে ফর্ম্যাট করা হয়েছে।RESOURCE_DATA: একটি বুলিয়ান যা নির্দিষ্ট করে যে সাবস্ক্রিপশনে পে-লোডে রিসোর্স ডেটা অন্তর্ভুক্ত আছে কিনা:True: সব রিসোর্স ডেটা অন্তর্ভুক্ত করে। কোন কোন ফিল্ড অন্তর্ভুক্ত করা হবে তা সীমিত করতে,fieldMaskফিল্ড যোগ করুন এবং পরিবর্তিত রিসোর্সের জন্য অন্তত একটি ফিল্ড নির্দিষ্ট করুন। শুধুমাত্র Chat রিসোর্সের সাবস্ক্রিপশনে রিসোর্স ডেটা অন্তর্ভুক্ত করার সুবিধা আছে।False: রিসোর্স ডেটা বাদ দেয়।
Google Workspace সাবস্ক্রিপশন তৈরি করতে, আপনার Apps Script প্রোজেক্টে
createSubscriptionফাংশনটি রান করুন।
Python
আপনার ওয়ার্কিং ডিরেক্টরিতে,
create_subscription.pyনামের একটি ফাইল তৈরি করুন এবং নিম্নলিখিত কোড যোগ করুন:"""Create subscription.""" from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Specify required scopes. SCOPES = [SCOPES] # Authenticate with Google Workspace and get user authentication. flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES) CREDENTIALS = flow.run_local_server() # The Google Workspace resource to monitor for events. TARGET_RESOURCE = 'TARGET_RESOURCE' # The types of events to receive. EVENT_TYPES = [EVENT_TYPES] # The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic. TOPIC = 'TOPIC_NAME' # Call the Workspace Events API using the service endpoint. service = build( 'workspaceevents', 'v1', credentials=CREDENTIALS, ) BODY = { 'target_resource': TARGET_RESOURCE, 'event_types': EVENT_TYPES, 'notification_endpoint': {'pubsub_topic': TOPIC}, 'payload_options': {'include_resource': RESOURCE_DATA}, } response = service.subscriptions().create(body=BODY).execute() print(response)নিম্নলিখিতগুলি পরিবর্তন করুন:
SCOPES: সাবস্ক্রিপশনের জন্য প্রতিটি ইভেন্টের ধরনকে সমর্থন করে এমন এক বা একাধিক OAuth স্কোপ। স্ট্রিংয়ের অ্যারে হিসেবে ফর্ম্যাট করা হয়েছে। একাধিক স্কোপের তালিকা তৈরি করতে, কমা দিয়ে আলাদা করুন। যেমন,'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'।TARGET_RESOURCE: আপনি যে Google Workspace রিসোর্স সাবস্ক্রাইব করছেন, সেটি সম্পূর্ণ রিসোর্স নাম হিসেবে ফর্ম্যাট করা হয়েছে। যেমন,AAAABBBBস্পেস আইডি সহ Chat স্পেসে সাবস্ক্রাইব করতে,//chat.googleapis.com/spaces/AAAABBBBব্যবহার করুন।EVENT_TYPES: টার্গেট রিসোর্সে আপনি সাবস্ক্রাইব করতে চান এমন এক বা একাধিক ইভেন্টের ধরন।'google.workspace.chat.message.v1.created'-এর মতো স্ট্রিংয়ের অ্যারে হিসেবে ফর্ম্যাট করুন।TOPIC_NAME: আপনার Cloud প্রোজেক্টে তৈরি করা Pub/Sub বিষয়ের সম্পূর্ণ নাম।projects/PROJECT_ID/topics/TOPIC_IDহিসেবে ফর্ম্যাট করা হয়েছে।RESOURCE_DATA: একটি বুলিয়ান যা নির্দিষ্ট করে যে সাবস্ক্রিপশনে পে-লোডে রিসোর্স ডেটা অন্তর্ভুক্ত আছে কিনা:True: সব রিসোর্স ডেটা অন্তর্ভুক্ত করে। কোন কোন ফিল্ড অন্তর্ভুক্ত করা হবে তা সীমিত করতে,fieldMaskফিল্ড যোগ করুন এবং পরিবর্তিত রিসোর্সের জন্য অন্তত একটি ফিল্ড নির্দিষ্ট করুন। শুধুমাত্র Chat রিসোর্সের সাবস্ক্রিপশনে রিসোর্স ডেটা অন্তর্ভুক্ত করার সুবিধা আছে।False: রিসোর্স ডেটা বাদ দেয়।
Google Workspace সাবস্ক্রিপশন তৈরি করতে, আপনার টার্মিনালে নিম্নলিখিত কমান্ড রান করুন:
python3 create_subscription.py
Google Workspace Events API একটি সম্পূর্ণ দীর্ঘ-চলমান
অপারেশন প্রদান করে যাতে আপনার তৈরি করা Subscription রিসোর্সের
ইনস্ট্যান্স থাকে।
আপনার Google Workspace সাবস্ক্রিপশন টেস্ট করুন
আপনি Google Workspace ইভেন্ট পাচ্ছেন কিনা তা পরীক্ষা করতে, আপনি একটি ইভেন্ট ট্রিগার করতে পারেন এবং Pub/Sub সাবস্ক্রিপশনে মেসেজ পুল করতে পারেন।
আপনার Google Workspace সাবস্ক্রিপশন টেস্ট করতে:
Google API Console
আপনার Google Workspace সাবস্ক্রিপশনের টার্গেট রিসোর্সে এক বা একাধিক ধরনের ইভেন্ট ট্রিগার করুন। যেমন, আপনি Chat স্পেসে নতুন মেসেজের জন্য সাবস্ক্রাইব করে থাকলে, স্পেসে মেসেজ পোস্ট করুন।
Google API Console-এ, Pub/Sub পৃষ্ঠায় যান:
আপনার অ্যাপের জন্য ক্লাউড প্রোজেক্ট বেছে নেওয়া হয়েছে কিনা তা ভাল করে দেখে নিন।
Pub/Sub মেনুতে, সাবস্ক্রিপশন বিকল্পে ক্লিক করুন।
টেবিলে, আপনার টপিকের জন্য Pub/Sub সাবস্ক্রিপশন খুঁজে নিন এবং সাবস্ক্রিপশনের নামে ক্লিক করুন।
মেসেজ ট্যাবে ক্লিক করুন।
পুল করুন বিকল্পে ক্লিক করুন। কোনও ইভেন্ট থেকে Pub/Sub মেসেজ জেনারেট হতে কয়েক মিনিট পর্যন্ত সময় লাগতে পারে।
gcloud
আপনার Google Workspace সাবস্ক্রিপশনের টার্গেট রিসোর্সে এক বা একাধিক ধরনের ইভেন্ট ট্রিগার করুন। যেমন, আপনি Chat স্পেসে নতুন মেসেজের জন্য সাবস্ক্রাইব করে থাকলে, স্পেসে মেসেজ পোস্ট করুন।
এই কমান্ড রান করুন:
gcloud pubsub subscriptions pull PUBSUB_SUBSCRIPTION_NAME --format=json --limit=MESSAGE_COUNT --auto-ackনিম্নলিখিতগুলি পরিবর্তন করুন:
PUBSUB_SUBSCRIPTION_NAME: আপনার Pub/Sub সাবস্ক্রিপশনের সম্পূর্ণ নাম, যাprojects/PROJECT_ID/subscriptions/SUBSCRIPTION_IDহিসেবে ফর্ম্যাট করা হয়েছে।MESSAGE_COUNT: আপনি সর্বাধিক যতগুলি Pub/Sub মেসেজ পুল করতে চান।
কোনও ইভেন্টের জন্য Pub/Sub মেসেজ জেনারেট করতে কয়েক মিনিট পর্যন্ত সময় লাগতে পারে।
আপনার ট্রিগার করা প্রতিটি Google Workspace ইভেন্টের জন্য, আপনার Pub/Sub সাবস্ক্রিপশনে একটি মেসেজ পাঠানো হয় যাতে ইভেন্টটি থাকে। বিস্তারিত জানতে, Google Cloud Pub/Sub মেসেজ হিসেবে ইভেন্ট পাওয়া দেখুন।
আপনার অ্যাপ কীভাবে ইভেন্ট রিসিভ করবে তা কনফিগার করুন
আপনার তৈরি করা Pub/Sub সাবস্ক্রিপশনটি পুল-ভিত্তিক। আপনার Pub/Sub সাবস্ক্রিপশন পরীক্ষা করার পরে, আপনার অ্যাপ কীভাবে ইভেন্ট রিসিভ করবে তা পরিবর্তন করতে আপনি ডেলিভারির ধরন আপডেট করতে পারবেন। যেমন, আপনি Pub/Sub সাবস্ক্রিপশনকে পুশ ডেলিভারি টাইপে কনফিগার করতে পারেন, যাতে আপনার অ্যাপ সরাসরি অ্যাপ এন্ডপয়েন্টে ইভেন্ট পেতে পারে।
Pub/Sub সাবস্ক্রিপশন কনফিগার করার ব্যাপারে জানতে, Pub/Sub ডকুমেন্টেশন দেখুন।
Google Chat অ্যাপ হিসেবে Chat স্পেস ইভেন্টে সাবস্ক্রাইব করুন
আপনি Chat অ্যাপ হিসেবে Chat ইভেন্টে সাবস্ক্রাইব করতে পারবেন। তবে, Chat অ্যাপটি যে স্পেসের মেম্বার, সেই স্পেস থেকেই এটি করা যাবে। Chat অ্যাপ ব্যবহারকারীর ইভেন্টে সাবস্ক্রাইব করতে পারে না।
Google Workspace Events API কল করে এমন স্ক্রিপ্ট লিখুন
অ্যাপ যাচাইকরণ এবং অ্যাডমিনিস্ট্রেটরের অনুমোদন সহ Chat স্পেস ইভেন্টের সাবস্ক্রিপশন কীভাবে তৈরি করবেন তা এখানে দেওয়া হল:
- প্রয়োজন হলে, Chat অ্যাপ তৈরি করুন।
Chat রিসোর্সে সাবস্ক্রাইব করুন, তবে:
- ব্যবহারকারী যাচাইকরণের পরিবর্তে, একবার অ্যাডমিনিস্ট্রেটরের অনুমোদন নিয়ে Chat অ্যাপ হিসেবে যাচাই করুন।
Chat অ্যাপকে Chat ইভেন্টে সাবস্ক্রাইব করার অনুমতি দেয় এমন অনুমোদনের স্কোপ নির্দিষ্ট করুন। এইসব অনুমোদনের স্কোপ সবসময়
chat.appদিয়ে শুরু হয় এবং এতে নিম্নলিখিতগুলি অন্তর্ভুক্ত থাকে:https://www.googleapis.com/auth/chat.app.memberships: Chat স্পেস মেম্বার ইভেন্টে সাবস্ক্রাইব করুন।https://www.googleapis.com/auth/chat.app.memberships.readonly: Chat স্পেস মেম্বার ইভেন্টে সাবস্ক্রাইব করুন।https://www.googleapis.com/auth/chat.app.messages.readonly: Chat স্পেস মেসেজ ও প্রতিক্রিয়া ইভেন্টে সাবস্ক্রাইব করুন।https://www.googleapis.com/auth/chat.app.spaces: Chat স্পেস ইভেন্টে সাবস্ক্রাইব করুন।https://www.googleapis.com/auth/chat.app.spaces.readonly: Chat স্পেস ইভেন্টে সাবস্ক্রাইব করুন।
নিম্নলিখিত কোড স্যাম্পেল নির্দিষ্ট Chat স্পেসে মেসেজ ইভেন্টে সাবস্ক্রাইব করে:
Python
"""Create subscription."""
from google.oauth2 import service_account
from apiclient.discovery import build
# Specify required scopes.
SCOPES = ['https://www.googleapis.com/auth/chat.app.messages.readonly']
# Specify service account details.
CREDENTIALS = (
service_account.Credentials.from_service_account_file('credentials.json')
.with_scopes(SCOPES)
)
# The Google Workspace resource to monitor for events.
TARGET_RESOURCE = '//chat.googleapis.com/spaces/SPACE_ID'
# The types of events to receive.
EVENT_TYPES = [
'google.workspace.chat.message.v1.created',
'google.workspace.chat.message.v1.updated',
'google.workspace.chat.message.v1.deleted',
]
# The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic.
TOPIC = 'TOPIC_NAME'
# Call the Workspace Events API using the service endpoint.
service = build(
'workspaceevents',
'v1',
credentials=CREDENTIALS,
)
BODY = {
'target_resource': TARGET_RESOURCE,
'event_types': EVENT_TYPES,
'notification_endpoint': {'pubsub_topic': TOPIC},
'payload_options': {'include_resource': RESOURCE_DATA},
}
response = service.subscriptions().create(body=BODY).execute()
print(response)
নিম্নলিখিতগুলি পরিবর্তন করুন:
SPACE_ID: স্পেসের নাম, যা আপনি Chat API-তেspaces.listপদ্ধতি থেকে অথবা স্পেসের URL থেকে পেতে পারেন।TOPIC_NAME: আপনার Cloud প্রোজেক্টে তৈরি করা Pub/Sub বিষয়ের সম্পূর্ণ নাম।projects/PROJECT_ID/topics/TOPIC_IDহিসেবে ফর্ম্যাট করা হয়েছে।RESOURCE_DATA: একটি বুলিয়ান যা নির্দিষ্ট করে যে সাবস্ক্রিপশনে পে-লোডে রিসোর্স ডেটা অন্তর্ভুক্ত আছে কিনা:True: সব রিসোর্স ডেটা অন্তর্ভুক্ত করে। কোন কোন ফিল্ড অন্তর্ভুক্ত করা হবে তা সীমিত করতে,fieldMaskফিল্ড যোগ করুন এবং পরিবর্তিত রিসোর্সের জন্য অন্তত একটি ফিল্ড নির্দিষ্ট করুন। শুধুমাত্র Chat রিসোর্সের সাবস্ক্রিপশনে রিসোর্স ডেটা অন্তর্ভুক্ত করার সুবিধা আছে।False: রিসোর্স ডেটা বাদ দেয়।
Google Chat অ্যাপ হিসেবে Google Workspace সংস্থার সব Chat ইভেন্ট সাবস্ক্রাইব করুন
গ্রাহক সাবস্ক্রিপশন আপনার Chat অ্যাপকে সম্পূর্ণ Google Workspace প্রতিষ্ঠান জুড়ে স্পেস ইভেন্ট এবং ব্যবহারকারীর ইভেন্ট মনিটর করার অনুমতি দেয়।
গ্রাহক সাবস্ক্রিপশনের জন্য কীভাবে ইভেন্ট ডেলিভার করা হয় সে সম্পর্কে বিশদ বিবরণের জন্য, যার মধ্যে রয়েছে বাহ্যিক সংস্থা দ্বারা পরিচালিত স্পেসে ইভেন্ট ডেলিভারি, গ্রাহক সাবস্ক্রিপশনের সীমাবদ্ধতা এবং ডেলিভারি আচরণ দেখুন।
প্রয়োজনীয়তা ও সীমাবদ্ধতা
- যাচাইকরণ: অ্যাডমিনিস্ট্রেটরের থেকে একবার অনুমোদন নিয়ে Chat অ্যাপ হিসেবে যাচাইকরণ করুন
- SKU: Google Workspace সংস্থার কাছে অন্তত একটি Enterprise SKU লাইসেন্স থাকতে হবে। মনে রাখবেন, ডেভেলপার প্রিভিউ প্রোগ্রাম চলাকালীন এই প্রয়োজনীয়তা কঠোরভাবে এনফোর্স করা হয় না, তবে ভবিষ্যতে এনফোর্স করা হবে (আলাদাভাবে ঘোষণা করা হবে)।
- অনন্যতা: কোনও Chat অ্যাপ, নির্দিষ্ট Google Workspace সংস্থার জন্য শুধুমাত্র একটি গ্রাহক সাবস্ক্রিপশন তৈরি করতে পারে। Google Workspace সংস্থায় মোট পাঁচটি গ্রাহক সাবস্ক্রিপশন থাকতে পারে (বিভিন্ন Chat অ্যাপের মাধ্যমে তৈরি)।
- স্কোপ: আপনি যে ধরনের ইভেন্ট পেতে চান তার উপর নির্ভর করে নিম্নলিখিত এক বা একাধিক স্কোপের প্রয়োজন:
https://www.googleapis.com/auth/chat.app.all.spaces.readonly: স্পেস সম্পর্কে ইভেন্ট পেতে।https://www.googleapis.com/auth/chat.app.all.memberships.readonly: মেম্বারশিপ সংক্রান্ত ইভেন্ট পেতে।https://www.googleapis.com/auth/chat.app.all.messages.readonly: মেসেজ ও প্রতিক্রিয়া সম্পর্কে ইভেন্ট পেতে।https://www.googleapis.com/auth/chat.app.all.users.readstate.readonly( ডেভেলপার প্রিভিউ): ব্যবহারকারীর পড়ার স্ট্যাটাস সম্পর্কে ইভেন্ট পেতে।
গ্রাহকের সাবস্ক্রিপশন তৈরি করুন
গ্রাহকের সাবস্ক্রিপশন তৈরি করতে, subscriptions.create পদ্ধতি কল করুন।
নিম্নলিখিত Python কোড স্যাম্পেল গ্রাহকের সাবস্ক্রিপশন তৈরি করে:
Python
"""Create a customer subscription."""
from google.oauth2 import service_account
from apiclient.discovery import build
# Specify required scopes.
# Replace with the scopes needed for the event types you want to receive.
SCOPES = ['https://www.googleapis.com/auth/chat.app.all.messages.readonly']
# Specify service account details.
CREDENTIALS = (
service_account.Credentials.from_service_account_file('credentials.json')
.with_scopes(SCOPES)
)
# Monitor all events for the Google Workspace organization.
TARGET_RESOURCE = '//admin.googleapis.com/customers/CUSTOMER_ID'
# The types of events to receive.
EVENT_TYPES = [
'google.workspace.chat.message.v1.created',
'google.workspace.chat.message.v1.updated',
'google.workspace.chat.message.v1.deleted',
]
# The endpoint to deliver events to.
TOPIC = 'TOPIC_NAME'
# Call the Workspace Events API.
# Note: Use the v1beta endpoint for Developer Preview features.
service = build(
'workspaceevents',
'v1beta',
credentials=CREDENTIALS,
)
BODY = {
'target_resource': TARGET_RESOURCE,
'event_types': EVENT_TYPES,
'notification_endpoint': {'pubsub_topic': TOPIC},
'payload_options': {'include_resource': RESOURCE_DATA},
}
response = service.subscriptions().create(body=BODY).execute()
print(response)
নিম্নলিখিতগুলি পরিবর্তন করুন:
CUSTOMER_ID: কাস্টমার আইডি। এছাড়াও, আপনি Chat অ্যাপের Google Workspace সংস্থার জন্যmy_customerউপনাম ব্যবহার করতে পারবেন।TOPIC_NAME: আপনার Cloud প্রোজেক্টে তৈরি করা Pub/Sub বিষয়ের সম্পূর্ণ নাম।projects/PROJECT_ID/topics/TOPIC_IDহিসেবে ফর্ম্যাট করা হয়েছে।RESOURCE_DATA: একটি বুলিয়ান যা সাবস্ক্রিপশনে পেলোডে রিসোর্স ডেটা অন্তর্ভুক্ত আছে কিনা তা নির্দিষ্ট করে:True: সব রিসোর্স ডেটা অন্তর্ভুক্ত করে। কোন কোন ফিল্ড অন্তর্ভুক্ত করা হবে তা সীমিত করতে,fieldMaskফিল্ড যোগ করুন এবং পরিবর্তিত রিসোর্সের জন্য অন্তত একটি ফিল্ড নির্দিষ্ট করুন। শুধুমাত্র Chat রিসোর্সের সাবস্ক্রিপশন রিসোর্স ডেটা অন্তর্ভুক্ত করার সুবিধা দেয়।False: রিসোর্স ডেটা বাদ দেয়।