এই নির্দেশিকা থেকে আপনি জানতে পারবেন যে নিম্নলিখিত যেকোনও একটি কাজ করার জন্য Google Chat API-এর Message রিসোর্সে কীভাবে
create()
পদ্ধতি ব্যবহার করতে হয়:
- টেক্সট, কার্ড ও ইন্টার্যাক্টিভ উইজেট সহ মেসেজ পাঠান।
- নির্দিষ্ট Chat ব্যবহারকারীকে ব্যক্তিগতভাবে মেসেজ পাঠান।
- মেসেজ থ্রেড শুরু করা বা তাতে উত্তর দেওয়া।
- মেসেজের নাম দিন, যাতে আপনি অন্যান্য Chat API অনুরোধে এটি উল্লেখ করতে পারেন।
মেসেজের সর্বাধিক সাইজ (যেকোনও টেক্সট বা কার্ড সহ) হল ৩২,০০০ বাইট। এই সাইজের থেকে বড় মেসেজ পাঠাতে, আপনার Chat অ্যাপকে একাধিক মেসেজ পাঠাতে হবে।
মেসেজ তৈরি করার জন্য Chat API কল করার পাশাপাশি, Chat অ্যাপ ব্যবহারকারীর ইন্টার্যাকশনের উত্তর দিতে মেসেজ তৈরি ও পাঠাতে পারে, যেমন, ব্যবহারকারী কোনও স্পেসে Chat অ্যাপ যোগ করার পরে স্বাগত মেসেজ পোস্ট করা। ইন্টার্যাকশনের উত্তর দেওয়ার সময়, Chat অ্যাপ অন্যান্য ধরনের মেসেজিং ফিচার ব্যবহার করতে পারে, যার মধ্যে ইন্টার্যাক্টিভ ডায়ালগ ও লিঙ্ক প্রিভিউ ইন্টারফেস অন্তর্ভুক্ত। ব্যবহারকারীকে উত্তর দিতে, Chat অ্যাপ, Chat API কল না করেই সিঙ্ক্রোনাসভাবে মেসেজ ফিরিয়ে দেয়। ইন্টার্যাকশনের উত্তর দিতে মেসেজ পাঠানো সম্পর্কে জানতে, আপনার Google Chat অ্যাপের মাধ্যমে ইন্টার্যাকশন রিসিভ করা ও উত্তর দেওয়া দেখুন।
Chat API-এর মাধ্যমে তৈরি করা মেসেজ Chat কীভাবে দেখায় ও অ্যাট্রিবিউট করে
আপনি create() পদ্ধতি কল করতে পারবেন
অ্যাপ যাচাইকরণ
এবং ব্যবহারকারী যাচাইকরণ ব্যবহার করে।
আপনি যে ধরনের যাচাইকরণ ব্যবহার করেন তার উপর নির্ভর করে
Chat মেসেজ প্রেরককে আলাদাভাবে অ্যাট্রিবিউট করে।
আপনি Chat অ্যাপ হিসেবে যাচাই করলে, Chat অ্যাপ মেসেজ পাঠায়।
App দেখায়।
আপনি ব্যবহারকারী হিসেবে যাচাইকরণ করলে, Chat অ্যাপ ব্যবহারকারীর হয়ে মেসেজ পাঠায়। এছাড়াও, Chat অ্যাপের নাম দেখিয়ে Chat মেসেজের সাথে Chat অ্যাপকে অ্যাট্রিবিউট করে।
এছাড়াও, যাচাইকরণের ধরন নির্ধারণ করে যে আপনি মেসেজে কোন মেসেজিং ফিচার ও ইন্টারফেস যোগ করতে পারবেন। অ্যাপ যাচাইকরণের মাধ্যমে, Chat অ্যাপ রিচ টেক্সট, কার্ড-ভিত্তিক ইন্টারফেস এবং ইন্টার্যাক্টিভ উইজেট সহ মেসেজ পাঠাতে পারে। ব্যবহারকারীর যাচাইকরণের মাধ্যমে, আপনি টেক্সট মেসেজ পাঠাতে বা কার্ড সহ মেসেজ তৈরি করতে পারবেন, যেমনটি ইন্টার্যাক্টিভ কার্ড তৈরি ও আপডেট করুন-এ ডকুমেন্ট করা আছে।
Chat API-এর জন্য উপলভ্য মেসেজিং ফিচার সম্পর্কে আরও জানতে, Google Chat মেসেজের ওভারভিউ দেখুন।
Chat API-এর মাধ্যমে মেসেজ পাঠাতে, যেকোনও একটি যাচাইকরণের ধরন কীভাবে ব্যবহার করবেন তা এই নির্দেশিকা থেকে জানতে পারবেন।
পূর্বশর্ত
Node.js
- Google Chat-এ অ্যাক্সেস সহ Google Workspace-এর Business বা Enterprise অ্যাকাউন্ট।
- আপনার পরিবেশ সেট-আপ করুন:
- Google Cloud প্রোজেক্ট তৈরি করুন।
- OAuth-এর সম্মতি সংক্রান্ত স্ক্রিন কনফিগার করুন।
- আপনার Chat অ্যাপের নাম, আইকন ও বিবরণ সহ Google Chat API চালু ও কনফিগার করুন।
- Node.js Cloud Client Library ইনস্টল করুন।
- আপনার Google Chat API অনুরোধে আপনি কীভাবে যাচাই করতে চান তার উপর ভিত্তি করে অ্যাক্সেস ক্রেডেনশিয়াল তৈরি করুন:
- Chat ব্যবহারকারী হিসেবে যাচাইকরণ করতে,
OAuth ক্লায়েন্ট আইডি
ক্রেডেনশিয়াল তৈরি করুন এবং ক্রেডেনশিয়ালটি আপনার লোকাল ডিরেক্টরিতে
credentials.jsonনামের JSON ফাইল হিসেবে সেভ করুন। - Chat অ্যাপ হিসেবে যাচাই করতে,
পরিষেবা অ্যাকাউন্ট
ক্রেডেনশিয়াল তৈরি করুন এবং ক্রেডেনশিয়ালটি
credentials.jsonনামের JSON ফাইল হিসেবে সেভ করুন।
- Chat ব্যবহারকারী হিসেবে যাচাইকরণ করতে,
OAuth ক্লায়েন্ট আইডি
ক্রেডেনশিয়াল তৈরি করুন এবং ক্রেডেনশিয়ালটি আপনার লোকাল ডিরেক্টরিতে
- আপনি ব্যবহারকারী নাকি Chat অ্যাপ হিসেবে যাচাইকরণ করতে চান তার উপর ভিত্তি করে অনুমোদনের স্কোপ বেছে নিন।
- একটি Google Chat স্পেস যেখানে যাচাই করা ব্যবহারকারী বা কলিং Chat অ্যাপ একজন মেম্বার। Chat অ্যাপ হিসেবে যাচাই করতে, স্পেসে Chat অ্যাপ যোগ করুন।
Python
- Google Chat-এ অ্যাক্সেস সহ Google Workspace-এর Business বা Enterprise অ্যাকাউন্ট।
- আপনার পরিবেশ সেট-আপ করুন:
- Google Cloud প্রোজেক্ট তৈরি করুন।
- OAuth-এর সম্মতি সংক্রান্ত স্ক্রিন কনফিগার করুন।
- আপনার Chat অ্যাপের নাম, আইকন ও বিবরণ সহ Google Chat API চালু ও কনফিগার করুন।
- Python Cloud Client Library ইনস্টল করুন।
- আপনার Google Chat API অনুরোধে আপনি কীভাবে যাচাই করতে চান তার উপর ভিত্তি করে অ্যাক্সেস ক্রেডেনশিয়াল তৈরি করুন:
- Chat ব্যবহারকারী হিসেবে যাচাইকরণ করতে,
OAuth ক্লায়েন্ট আইডি
ক্রেডেনশিয়াল তৈরি করুন এবং ক্রেডেনশিয়ালটি আপনার লোকাল ডিরেক্টরিতে
credentials.jsonনামের JSON ফাইল হিসেবে সেভ করুন। - Chat অ্যাপ হিসেবে যাচাই করতে,
পরিষেবা অ্যাকাউন্ট
ক্রেডেনশিয়াল তৈরি করুন এবং ক্রেডেনশিয়ালটি
credentials.jsonনামের JSON ফাইল হিসেবে সেভ করুন।
- Chat ব্যবহারকারী হিসেবে যাচাইকরণ করতে,
OAuth ক্লায়েন্ট আইডি
ক্রেডেনশিয়াল তৈরি করুন এবং ক্রেডেনশিয়ালটি আপনার লোকাল ডিরেক্টরিতে
- আপনি ব্যবহারকারী নাকি Chat অ্যাপ হিসেবে যাচাইকরণ করতে চান তার উপর ভিত্তি করে অনুমোদনের স্কোপ বেছে নিন।
- একটি Google Chat স্পেস যেখানে যাচাই করা ব্যবহারকারী বা কলিং Chat অ্যাপ একজন মেম্বার। Chat অ্যাপ হিসেবে যাচাই করতে, স্পেসে Chat অ্যাপ যোগ করুন।
Java
- Google Chat-এ অ্যাক্সেস সহ Google Workspace-এর Business বা Enterprise অ্যাকাউন্ট।
- আপনার পরিবেশ সেট-আপ করুন:
- Google Cloud প্রোজেক্ট তৈরি করুন।
- OAuth-এর সম্মতি সংক্রান্ত স্ক্রিন কনফিগার করুন।
- আপনার Chat অ্যাপের নাম, আইকন ও বিবরণ সহ Google Chat API চালু ও কনফিগার করুন।
- Java Cloud Client Library ইনস্টল করুন।
- আপনার Google Chat API অনুরোধে আপনি কীভাবে যাচাই করতে চান তার উপর ভিত্তি করে অ্যাক্সেস ক্রেডেনশিয়াল তৈরি করুন:
- Chat ব্যবহারকারী হিসেবে যাচাইকরণ করতে,
OAuth ক্লায়েন্ট আইডি
ক্রেডেনশিয়াল তৈরি করুন এবং ক্রেডেনশিয়ালটি আপনার লোকাল ডিরেক্টরিতে
credentials.jsonনামের JSON ফাইল হিসেবে সেভ করুন। - Chat অ্যাপ হিসেবে যাচাই করতে,
পরিষেবা অ্যাকাউন্ট
ক্রেডেনশিয়াল তৈরি করুন এবং ক্রেডেনশিয়ালটি
credentials.jsonনামের JSON ফাইল হিসেবে সেভ করুন।
- Chat ব্যবহারকারী হিসেবে যাচাইকরণ করতে,
OAuth ক্লায়েন্ট আইডি
ক্রেডেনশিয়াল তৈরি করুন এবং ক্রেডেনশিয়ালটি আপনার লোকাল ডিরেক্টরিতে
- আপনি ব্যবহারকারী নাকি Chat অ্যাপ হিসেবে যাচাইকরণ করতে চান তার উপর ভিত্তি করে অনুমোদনের স্কোপ বেছে নিন।
- একটি Google Chat স্পেস যেখানে যাচাই করা ব্যবহারকারী বা কলিং Chat অ্যাপ একজন মেম্বার। Chat অ্যাপ হিসেবে যাচাই করতে, স্পেসে Chat অ্যাপ যোগ করুন।
Apps Script
- Google Chat-এ অ্যাক্সেস সহ Google Workspace-এর Business বা Enterprise অ্যাকাউন্ট।
- আপনার পরিবেশ সেট-আপ করুন:
- Google Cloud প্রোজেক্ট তৈরি করুন।
- OAuth-এর সম্মতি সংক্রান্ত স্ক্রিন কনফিগার করুন।
- আপনার Chat অ্যাপের নাম, আইকন ও বিবরণ সহ Google Chat API চালু ও কনফিগার করুন।
- স্ট্যান্ডঅ্যালোন Apps স্ক্রিপ্ট প্রোজেক্ট তৈরি করুন, এবং উন্নত চ্যাট পরিষেবা চালু করুন।
- এই গাইডে, আপনাকে অবশ্যই ব্যবহারকারী অথবা অ্যাপ যাচাইকরণ ব্যবহার করতে হবে। Chat অ্যাপ হিসেবে যাচাই করতে, পরিষেবা অ্যাকাউন্টের ক্রেডেনশিয়াল তৈরি করুন। ধাপগুলি জানতে, Google Chat অ্যাপ হিসেবে যাচাই ও অনুমোদন করুন দেখুন।
- আপনি ব্যবহারকারী নাকি Chat অ্যাপ হিসেবে যাচাইকরণ করতে চান তার উপর ভিত্তি করে অনুমোদনের স্কোপ বেছে নিন।
- একটি Google Chat স্পেস যেখানে যাচাই করা ব্যবহারকারী বা কলিং Chat অ্যাপ একজন মেম্বার। Chat অ্যাপ হিসেবে যাচাই করতে, স্পেসে Chat অ্যাপ যোগ করুন।
Chat অ্যাপ হিসেবে মেসেজ পাঠান
এই বিভাগে ব্যাখ্যা করা হয়েছে যে কীভাবে অ্যাপ যাচাইকরণ ব্যবহার করে টেক্সট, কার্ড ও ইন্টার্যাক্টিভ অ্যাক্সেসরি উইজেট সহ মেসেজ পাঠাতে হয়।
অ্যাপ যাচাইকরণ ব্যবহার করে CreateMessage()
পদ্ধতি কল করতে, আপনাকে অবশ্যই অনুরোধে নিম্নলিখিত ফিল্ডগুলি উল্লেখ করতে হবে:
chat.botঅনুমোদনের স্কোপ।- আপনি যে
Spaceরিসোর্সে মেসেজ পোস্ট করতে চান। Chat অ্যাপকে অবশ্যই স্পেসের মেম্বার হতে হবে। - তৈরি করার জন্য
Messageরিসোর্স। মেসেজের কন্টেন্ট নির্ধারণ করতে, আপনি রিচ টেক্সট (text), এক বা একাধিক কার্ড ইন্টারফেস (cardsV2) অথবা দুটিই অন্তর্ভুক্ত করতে পারেন।
ঐচ্ছিকভাবে, আপনি নিম্নলিখিতগুলি অন্তর্ভুক্ত করতে পারেন:
elementsফিল্ড মেসেজে উদ্ধৃতি যোগ করতে।accessoryWidgetsফিল্ডে মেসেজের নিচে ইন্টার্যাক্টিভ বোতাম অন্তর্ভুক্ত করতে হবে।privateMessageViewerফিল্ডটি নির্দিষ্ট ব্যবহারকারীকে ব্যক্তিগতভাবে মেসেজ পাঠানোর জন্য।messageIdফিল্ড, যা আপনাকে অন্য API অনুরোধে ব্যবহার করার জন্য মেসেজের নাম দিতে দেয়।thread.threadKeyএবংmessageReplyOptionফিল্ডে থ্রেড শুরু করুন বা উত্তর দিন। স্পেসে থ্রেডিং ব্যবহার করা না হলে, এই ফিল্ড উপেক্ষা করা হয়।
নিচের কোড থেকে উদাহরণ হিসেবে দেখা যাবে যে কীভাবে Chat অ্যাপ এমন মেসেজ পাঠাতে পারে যা Chat অ্যাপ হিসেবে পোস্ট করা হয়েছে এবং যার মধ্যে টেক্সট, কার্ড ও মেসেজের নিচে ক্লিক করা যায় এমন বোতাম আছে:
Node.js
Python
Java
Apps Script
এই স্যাম্পেল রান করতে, SPACE_NAME-এর পরিবর্তে
স্পেসের
name
ফিল্ড থেকে আইডি লিখুন। আপনি
ListSpaces()
মেথড কল করে বা স্পেসের URL থেকে ID পেতে পারেন।
মেসেজের নিচে ইন্ট্যার্যাক্টিভ উইজেট যোগ করুন
এই গাইডের প্রথম কোড স্যাম্পেলে, Chat অ্যাপ মেসেজের নিচে একটি ক্লিক করা যায় এমন বোতাম দেখানো হয়, যেটিকে অ্যাক্সেসরি উইজেট বলা হয়। অ্যাক্সেসরি উইজেট মেসেজের যেকোনও টেক্সট বা কার্ডের পরে দেখা যায়। আপনি এইসব উইজেট ব্যবহার করে ব্যবহারকারীদের আপনার মেসেজের সাথে বিভিন্ন উপায়ে ইন্টার্যাক্ট করার জন্য প্রম্পট করতে পারেন, যার মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত:
- কোনও মেসেজের নির্ভুলতা বা সন্তুষ্টির রেটিং দিন।
- মেসেজ বা Chat অ্যাপ সংক্রান্ত কোনও সমস্যার বিষয়ে অভিযোগ জানান।
- সম্পর্কিত কন্টেন্টের লিঙ্ক খুলুন, যেমন ডকুমেন্টেশন।
- Chat অ্যাপ থেকে নির্দিষ্ট সময়ের জন্য একই ধরনের মেসেজ বাতিল বা স্নুজ করুন।
অ্যাক্সেসরি উইজেট যোগ করতে, আপনার অনুরোধের বডিতে
accessoryWidgets[]
ফিল্ড অন্তর্ভুক্ত করুন এবং আপনি যে এক বা একাধিক উইজেট অন্তর্ভুক্ত করতে চান তা নির্দিষ্ট করুন।
নিচের ছবিতে এমন একটি Chat অ্যাপ দেখানো হয়েছে যা অ্যাক্সেসরি উইজেটের সাথে একটি টেক্সট মেসেজ যোগ করে যাতে ব্যবহারকারীরা Chat অ্যাপের সাথে তাদের অভিজ্ঞতা রেটিং করতে পারেন।
দুটি অ্যাক্সেসরি বোতাম সহ টেক্সট মেসেজ তৈরি করে এমন অনুরোধের বডি নিচে দেখানো হয়েছে। ব্যবহারকারী কোনও বোতামে ক্লিক করলে, সংশ্লিষ্ট
ফাংশন (যেমন doUpvote) ইন্টার্যাকশন প্রসেস করে:
{
text: "Rate your experience with this Chat app.",
accessoryWidgets: [{ buttonList: { buttons: [{
icon: { material_icon: {
name: "thumb_up"
}},
color: { red: 0, blue: 255, green: 0 },
onClick: { action: {
function: "doUpvote"
}}
}, {
icon: { material_icon: {
name: "thumb_down"
}},
color: { red: 0, blue: 255, green: 0 },
onClick: { action: {
function: "doDownvote"
}}
}]}}]
}
ব্যক্তিগতভাবে মেসেজ পাঠান
Chat অ্যাপ ব্যক্তিগতভাবে মেসেজ পাঠাতে পারে যাতে স্পেসে থাকা কোনও নির্দিষ্ট ব্যবহারকারীই শুধু মেসেজটি দেখতে পান। কোনও Chat অ্যাপ ব্যক্তিগত মেসেজ পাঠালে, মেসেজে একটি লেবেল দেখানো হয় যা ব্যবহারকারীকে জানায় যে মেসেজটি শুধু তিনিই দেখতে পাবেন।
Chat API ব্যবহার করে ব্যক্তিগতভাবে মেসেজ পাঠাতে, আপনার অনুরোধের বডিতে
privateMessageViewer
ফিল্ড উল্লেখ করুন। ব্যবহারকারীকে নির্দিষ্ট করতে, আপনি ভ্যালু সেট করেন
সেই
User
রিসোর্সে যা Chat ব্যবহারকারীকে দেখায়। এছাড়াও, আপনি User রিসোর্সের
name
ফিল্ড ব্যবহার করতে পারেন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:
{
text: "Hello private world!",
privateMessageViewer: {
name: "users/USER_ID"
}
}
এই স্যাম্পেল ব্যবহার করতে, USER_ID-এর জায়গায়
ব্যবহারকারীর জন্য একটি অনন্য আইডি লিখুন, যেমন 12345678987654321 বা
hao@cymbalgroup.com। ব্যবহারকারী নির্দিষ্ট করার ব্যাপারে আরও জানতে, Google Chat ব্যবহারকারীকে শনাক্ত ও নির্দিষ্ট করা দেখুন।
ব্যক্তিগতভাবে মেসেজ পাঠাতে, আপনার অনুরোধে নিম্নলিখিত বিষয়গুলি বাদ দিতে হবে:
বাধ্যতামূলক বিজ্ঞপ্তি বা সাইলেন্ট মেসেজ পাঠানো
Chat অ্যাপ মেসেজ পাঠালে, ব্যবহারকারীদের বিজ্ঞপ্তি পাঠাতে এটি এইসব বিকল্পের মধ্যে একটি ব্যবহার করতে পারে:
- বিজ্ঞপ্তি জোর করে পাঠানো: Chat সবসময় প্রাপকদের পুশ বিজ্ঞপ্তি পাঠায়, তাদের বিজ্ঞপ্তি সেটিংস বা বিরক্ত করবে না (DND) স্ট্যাটাস যাই হোক না কেন। Chat-এর মধ্যে, মেসেজটি প্রাপকের রোস্টার বা হোম লিস্টে বোল্ড এবং বাম্পিং আচরণ ট্রিগার করে এবং একটি ব্যাজ দেখায়।
- সাইলেন্ট মেসেজ পাঠান: Chat প্রাপকদের জন্য পুশ বিজ্ঞপ্তি বন্ধ করে দেয়। Chat-এর মধ্যে, মেসেজটি প্রাপকের রোস্টার বা হোম লিস্টে বোল্ড বা বাম্পিং আচরণ ট্রিগার করে না এবং কোনও ব্যাজ দেখায় না। কোনও কথোপকথনের শেষ মেসেজটি সাইলেন্ট মেসেজ হলে, সেটির কন্টেন্ট হোম স্নিপেটে দেখানো হয় না।
জোর করে বা সাইলেন্ট, এই মেসেজে একটি ভিজ্যুয়াল ইন্ডিকেটর থাকে যা বিশেষ বিজ্ঞপ্তি আচরণের প্রাপকদের বিজ্ঞপ্তি দেয়।
অ্যাপ যাচাইকরণ ব্যবহার করে Chat অ্যাপের জন্য শুধুমাত্র ফোর্সড বিজ্ঞপ্তি ও সাইলেন্ট মেসেজ উপলভ্য।
ফোর্সড বিজ্ঞপ্তি ও সাইলেন্ট মেসেজের ক্ষেত্রে এইসব সীমাবদ্ধতা রয়েছে:
- এক্সটার্নাল ব্যবহারকারী: কোনও স্পেসে এক্সটার্নাল ব্যবহারকারীদের (অতিথি) ক্ষেত্রে বাধ্যতামূলক বিজ্ঞপ্তি ও সাইলেন্ট মেসেজ প্রযোজ্য হয় না। এক্সটার্নাল ব্যবহারকারীরা তাদের নিজস্ব সেটিংস অনুযায়ী বিজ্ঞপ্তি পান।
- উল্লেখ: সাইলেন্ট মেসেজে ব্যবহারকারীদের উল্লেখ করা যায় না। আপনি যদি কোনও সাইলেন্ট মেসেজে কাউকে উল্লেখ করেন, তাহলে সেটি প্লেন টেক্সট হিসেবে বিবেচিত হয়।
- থ্রেডিং: আপনি সাইলেন্ট মেসেজের মাধ্যমে কোনও থ্রেড শুরু করতে বা উত্তর দিতে পারবেন না।
- স্পেসের ধরন: সরাসরি মেসেজ (DM) বা এমন ব্যক্তির মালিকানাধীন স্পেস যার Google Workspace অ্যাকাউন্ট নেই, সেখানে জোরপূর্বক বিজ্ঞপ্তি এবং সাইলেন্ট মেসেজ কাজ করে না।
- ইমেল বিজ্ঞপ্তি: সাইলেন্ট মেসেজের জন্য ইমেল বিজ্ঞপ্তি ট্রিগার হয় না। জোর করে বিজ্ঞপ্তি পাঠানো মেসেজ শুধুমাত্র তখনই ইমেল বিজ্ঞপ্তি ট্রিগার করে, যদি সেটিতে নির্দিষ্ট কোনও ব্যবহারকারীর উল্লেখ থাকে।
কোনও বিজ্ঞপ্তি জোর করে দেখাতে বা সাইলেন্ট মেসেজ পাঠাতে, আপনার অনুরোধে
createMessageNotificationOptions
ফিল্ড যোগ করুন এবং notificationType-কে নিম্নলিখিতগুলির মধ্যে একটিতে সেট করুন:
| মান | আচরণ |
|---|---|
NOTIFICATION_TYPE_FORCE_NOTIFY |
বিজ্ঞপ্তি পাঠাতে বাধ্য করে। |
NOTIFICATION_TYPE_SILENT |
সাউন্ড ছাড়া মেসেজ পাঠায়। |
নিম্নলিখিত উদাহরণে, জোরপূর্বক বিজ্ঞপ্তির মাধ্যমে মেসেজ পাঠানোর অনুরোধের JSON বডি দেখানো হয়েছে:
{
"text": "Critical update: the server is down!",
"createMessageNotificationOptions": {
"notificationType": "NOTIFICATION_TYPE_FORCE_NOTIFY"
}
}
ব্যবহারকারীর হয়ে টেক্সট মেসেজ পাঠান
এই বিভাগে ব্যাখ্যা করা হয়েছে যে কীভাবে ব্যবহারকারীর যাচাইকরণ ব্যবহার করে ব্যবহারকারীর হয়ে মেসেজ পাঠাতে হয়। ব্যবহারকারীর যাচাইকরণের মাধ্যমে, আপনি ব্যবহারকারীর হয়ে টেক্সট মেসেজ পাঠাতে বা কার্ড সহ মেসেজ তৈরি করতে পারবেন। ব্যবহারকারীর হয়ে কার্ড পাঠানোর ব্যাপারে বিস্তারিত জানতে, ইন্টার্যাক্টিভ কার্ড তৈরি ও আপডেট করা দেখুন।
ব্যবহারকারী যাচাইকরণ ব্যবহার করে CreateMessage() পদ্ধতি কল করতে, আপনাকে অনুরোধে নিম্নলিখিত ফিল্ডগুলি
নির্দিষ্ট করতে হবে:
- একটি অনুমোদনের স্কোপ
যা এই পদ্ধতির জন্য ব্যবহারকারীর যাচাইকরণকে সমর্থন করে। নিম্নলিখিত স্যাম্পেল
chat.messages.createস্কোপ ব্যবহার করে। - আপনি যে
Spaceরিসোর্সে মেসেজ পোস্ট করতে চান। যাচাই করা ব্যবহারকারীকে অবশ্যই স্পেসের মেম্বার হতে হবে। - তৈরি করার জন্য
Messageরিসোর্স। মেসেজের কন্টেন্ট নির্ধারণ করতে, আপনাকে অবশ্যইtextফিল্ড অন্তর্ভুক্ত করতে হবে।
ঐচ্ছিকভাবে, আপনি নিম্নলিখিতগুলি অন্তর্ভুক্ত করতে পারেন:
createMessageNotificationOptionsফিল্ড জোর করে বিজ্ঞপ্তি পাঠাতে বা সাইলেন্ট মেসেজ পাঠাতে।messageIdফিল্ড, যা আপনাকে অন্য API অনুরোধে ব্যবহার করার জন্য মেসেজের নাম দিতে দেয়।thread.threadKeyএবংmessageReplyOptionফিল্ডে থ্রেড শুরু করুন বা উত্তর দিন। স্পেসটি থ্রেডিং ব্যবহার না করলে, এই ফিল্ডটি উপেক্ষা করা হয়।
নিচের কোড থেকে বোঝা যায় যে কীভাবে একটি Chat অ্যাপ যাচাইকৃত ব্যবহারকারীর হয়ে কোনও স্পেসে টেক্সট মেসেজ পাঠাতে পারে:
Node.js
Python
Java
Apps Script
এই স্যাম্পেল রান করতে, SPACE_NAME-এর পরিবর্তে
স্পেসের
name
ফিল্ড থেকে আইডি লিখুন। আপনি
ListSpaces()
মেথড কল করে বা স্পেসের URL থেকে ID পেতে পারেন।
থ্রেড শুরু করা বা থ্রেডে উত্তর দেওয়া
থ্রেড ব্যবহার করে এমন স্পেসের জন্য, আপনি নির্দিষ্ট করতে পারেন যে কোনও নতুন মেসেজ থ্রেড শুরু করবে নাকি আগে থেকে থাকা থ্রেডে উত্তর দেবে।
ডিফল্ট হিসেবে, Chat API ব্যবহার করে আপনি যে মেসেজ তৈরি করেন তা নতুন থ্রেড শুরু করে। থ্রেড শনাক্ত করতে এবং পরে সেটির উত্তর দিতে আপনাকে সাহায্য করার জন্য, আপনার অনুরোধে একটি থ্রেড কী উল্লেখ করতে পারেন:
- আপনার অনুরোধের মূল অংশে,
thread.threadKeyফিল্ডটি উল্লেখ করুন। - 'কী' আগে থেকেই থাকলে কী হবে তা নির্ধারণ করতে কোয়েরি প্যারামিটার
messageReplyOptionউল্লেখ করুন।
আগে থেকে থাকা থ্রেডে উত্তর দেওয়ার জন্য মেসেজ তৈরি করতে:
- আপনার অনুরোধের মূল অংশে,
threadফিল্ড অন্তর্ভুক্ত করুন। সেট করা থাকলে, আপনি তৈরি করাthreadKeyনির্দিষ্ট করতে পারবেন। অন্যথায়, আপনাকে অবশ্যই থ্রেডেরnameব্যবহার করতে হবে। - কোয়েরি প্যারামিটার
messageReplyOptionউল্লেখ করুন।
নিচের কোড থেকে বোঝা যায় যে কীভাবে একটি Chat অ্যাপ যাচাইকৃত ব্যবহারকারীর হয়ে কোনও স্পেসের কী দ্বারা শনাক্ত করা থ্রেড শুরু করতে বা তার উত্তর দিতে টেক্সট মেসেজ পাঠাতে পারে:
Node.js
Python
Java
Apps Script
এই স্যাম্পেল রান করতে, নিম্নলিখিতগুলি পরিবর্তন করুন:
THREAD_KEY: স্পেসে আগে থেকে থাকা থ্রেড কী, অথবা নতুন থ্রেড তৈরি করতে, থ্রেডের জন্য একটি অনন্য নাম।SPACE_NAME: স্পেসেরnameফিল্ড থেকে আইডি। আপনিListSpaces()মেথড কল করে বা স্পেসের URL থেকে ID পেতে পারেন।
মেসেজের নাম দিন
ভবিষ্যতে API কলে কোনও মেসেজ ফিরিয়ে আনতে বা নির্দিষ্ট করতে, আপনার অনুরোধে messageId ফিল্ড সেট করে
আপনি কোনও মেসেজের নাম দিতে পারেন।
আপনার মেসেজের নাম দিলে, মেসেজের রিসোর্স নাম থেকে সিস্টেম-অ্যাসাইন করা আইডি সেভ না করেই আপনি মেসেজ নির্দিষ্ট করতে পারবেন (name ফিল্ডে দেখানো হয়েছে)।
যেমন, get() পদ্ধতি ব্যবহার করে কোনও মেসেজ ফিরিয়ে আনতে, আপনি
রিসোর্সের নাম ব্যবহার করে কোন মেসেজ ফিরিয়ে আনতে হবে তা নির্দিষ্ট করেন। রিসোর্সের নাম
spaces/{space}/messages/{message} হিসেবে ফর্ম্যাট করা হয়, যেখানে {message}
সিস্টেমের অ্যাসাইন করা আইডি বা মেসেজ তৈরি করার সময় আপনার সেট করা কাস্টম নামকে দেখায়।
মেসেজের নাম দিতে, মেসেজ তৈরি করার সময়
messageId
ফিল্ডে কাস্টম আইডি উল্লেখ করুন। messageId ফিল্ডটি Message রিসোর্সের
clientAssignedMessageId
ফিল্ডের জন্য ভ্যালু সেট করে।
আপনি মেসেজ তৈরি করার সময় শুধুমাত্র মেসেজের নাম দিতে পারবেন। আগে থেকে থাকা মেসেজের জন্য আপনি কাস্টম আইডির নাম দিতে বা তা পরিবর্তন করতে পারবেন না। কাস্টম আইডিকে নিম্নলিখিত প্রয়োজনীয়তা পূরণ করতে হবে:
client-দিয়ে শুরু হয়। যেমন,client-custom-nameহল সঠিক কাস্টম আইডি, কিন্তুcustom-nameসঠিক নয়।- এতে সর্বাধিক ৬৩টি অক্ষর থাকতে পারে এবং শুধুমাত্র ছোট হাতের অক্ষর, সংখ্যা ও হাইফেন ব্যবহার করা যাবে।
- স্পেসের মধ্যে অনন্য। Chat অ্যাপ বিভিন্ন মেসেজের জন্য একই কাস্টম আইডি ব্যবহার করতে পারে না।
নিম্নলিখিত কোড থেকে বোঝা যায় যে কীভাবে একটি Chat অ্যাপ যাচাইকৃত ব্যবহারকারীর হয়ে কোনও নির্দিষ্ট স্পেসে আইডি সহ টেক্সট মেসেজ পাঠাতে পারে:
Node.js
Python
Java
Apps Script
এই স্যাম্পেল রান করতে, নিম্নলিখিতগুলি পরিবর্তন করুন:
SPACE_NAME: স্পেসেরnameফিল্ড থেকে পাওয়া আইডি। আপনিListSpaces()মেথড কল করে বা স্পেসের URL থেকে ID পেতে পারেন।MESSAGE-ID: মেসেজের জন্য এমন একটি নাম যাcustom-দিয়ে শুরু হয়। নির্দিষ্ট স্পেসে Chat অ্যাপের মাধ্যমে তৈরি করা অন্য যেকোনও মেসেজের নামের থেকে আলাদা হতে হবে।
মেসেজ কোট করা
আপনি অনুরোধে
CreateMessage()
(rpc,
rest)
কল করে এবং quotedMessageMetadata
(rpc,
rest)
সেট করে অন্য একটি মেসেজ কোট করতে পারবেন।
আপনি কোনও থ্রেড বা মূল চ্যাটের মধ্যে মেসেজ কোট করতে পারেন, তবে অন্য থ্রেড থেকে কোনও মেসেজ কোট করতে পারবেন না।
নিম্নলিখিত কোড থেকে জানা যায় যে কীভাবে এমন মেসেজ তৈরি করতে হয় যা অন্য মেসেজকে কোট করে:
Node.js
import {createClientWithUserCredentials} from './authentication-utils.js';
const USER_AUTH_OAUTH_SCOPES = ['https://www.googleapis.com/auth/chat.messages.create'];
// This sample shows how to create a message that quotes another message.
async function main() {
// Create a client
const chatClient = await createClientWithUserCredentials(USER_AUTH_OAUTH_SCOPES);
// Initialize request argument(s)
const request = {
// TODO(developer): Replace SPACE_NAME .
parent: 'spaces/SPACE_NAME',
message: {
text: 'I am responding to a quoted message!',
// quotedMessageMetadata lets Chat apps respond to a message by quoting it.
quotedMessageMetadata: {
// TODO(developer): Replace QUOTED_MESSAGE_NAME
// and QUOTED_MESSAGE_LAST_UPDATE_TIME.
name: 'QUOTED_MESSAGE_NAME',
lastUpdateTime: 'QUOTED_MESSAGE_LAST_UPDATE_TIME'
}
}
};
// Make the request
const response = await chatClient.createMessage(request);
// Handle the response
console.log(response);
}
main().catch(console.error);
Python
from authentication_utils import create_client_with_user_credentials
from google.apps import chat_v1 as google_chat
from google.protobuf.timestamp_pb2 import Timestamp
SCOPES = ['https://www.googleapis.com/auth/chat.messages.create']
# This sample shows how to create a message that quotes another message.
def create_message_quote_message():
'''Creates a message that quotes another message.'''
# Create a client
client = create_client_with_user_credentials(SCOPES)
# Create a timestamp from the RFC-3339 string.
# TODO(developer): Replace QUOTED_MESSAGE_LAST_UPDATE_TIME.
last_update_time = Timestamp()
last_update_time.FromJsonString('QUOTED_MESSAGE_LAST_UPDATE_TIME')
# Initialize request argument(s)
request = google_chat.CreateMessageRequest(
# TODO(developer): Replace SPACE_NAME.
parent='spaces/SPACE_NAME',
# Create the message.
message = google_chat.Message(
text='I am responding to a quoted message!',
# quotedMessageMetadata lets Chat apps respond to a message by quoting it.
quoted_message_metadata=google_chat.QuotedMessageMetadata(
name='QUOTED_MESSAGE_NAME',
last_update_time=last_update_time
)
)
)
# Make the request
response = client.create_message(request)
# Handle the response
print(response)
create_message_quote_message()
Java
import com.google.chat.v1.ChatServiceClient;
import com.google.chat.v1.CreateMessageRequest;
import com.google.chat.v1.Message;
import com.google.chat.v1.QuotedMessageMetadata;
import com.google.protobuf.util.Timestamps;
import com.google.workspace.api.chat.samples.utils.AuthenticationUtils;
import java.text.ParseException;
// This sample shows how to create a message that quotes another message.
public class CreateMessageQuoteMessage {
public static void main(String[] args) throws Exception, ParseException {
// Create a client.
ChatServiceClient chatClient = AuthenticationUtils.createClientWithUserCredentials();
// Initialize request argument(s).
// TODO(developer): Replace SPACE_NAME, QUOTED_MESSAGE_NAME,
// and QUOTED_MESSAGE_LAST_UPDATE_TIME here.
String parent = "spaces/SPACE_NAME";
String quotedMessageName = "QUOTED_MESSAGE_NAME";
String lastUpdateTime = "QUOTED_MESSAGE_LAST_UPDATE_TIME";
QuotedMessageMetadata quotedMessageMetadata =
QuotedMessageMetadata.newBuilder()
.setName(quotedMessageName)
.setLastUpdateTime(Timestamps.parse(lastUpdateTime))
.build();
Message message = Message.newBuilder()
.setText("I am responding to a quoted message!")
.setQuotedMessageMetadata(quotedMessageMetadata)
.build();
CreateMessageRequest request =
CreateMessageRequest.newBuilder()
.setParent(parent)
.setMessage(message)
.build();
// Make the request.
Message response = chatClient.createMessage(request);
// Handle the response.
System.out.println(response);
}
}
Apps Script
/**
* Creates a message that quotes another message.
*
* Relies on the OAuth2 scope 'https://www.googleapis.com/auth/chat.messages.create'
* referenced in the manifest file (appsscript.json).
*/
function createMessageQuoteMessage() {
// Initialize request argument(s)
// TODO(developer): Replace SPACE_NAME here.
const parent = 'spaces/SPACE_NAME';
const message = {
// The text content of the message.
text: 'I am responding to a quoted message!',
// quotedMessageMetadata lets Chat apps respond to a message by quoting it.
//
// TODO(developer): Replace QUOTED_MESSAGE_NAME
// and QUOTED_MESSAGE_LAST_UPDATE_TIME .
quotedMessageMetadata: {
name: 'QUOTED_MESSAGE_NAME',
lastUpdateTime: 'QUOTED_MESSAGE_LAST_UPDATE_TIME',
}
};
// Make the request
const response = Chat.Spaces.Messages.create(message, parent);
// Handle the response
console.log(response);
}
এই স্যাম্পেল রান করতে, নিম্নলিখিতগুলি পরিবর্তন করুন:
SPACE_NAME: স্পেসেরnameফিল্ড থেকে পাওয়া আইডি। আপনিListSpaces()(rpc,rest) মেথড কল করে অথবা স্পেসের URL থেকে আইডি পেতে পারেন।QUOTED_MESSAGE_NAME: মেসেজের মেসেজ রিসোর্সname(rpc,rest)spaces/{space}/messages/{message}ফর্ম্যাটে কোট করতে হবে।QUOTED_MESSAGE_LAST_UPDATE_TIME: আপনি যে মেসেজটি উদ্ধৃত করতে চান সেটির শেষ আপডেট করার সময়। মেসেজটি কখনও এডিট করা না হলে,createTime(rpc,rest)-এর সাথে মিলে যায়। মেসেজটি এডিট করা হলে,lastUpdateTime(rpc,rest)-এর সাথে মিলে যায়।
সমস্যার সমাধান করুন
Google Chat অ্যাপ বা কার্ড কোনও সমস্যার মেসেজ দেখালে, Chat ইন্টারফেস "কোনও সমস্যা হয়েছে" মেসেজ দেখায়। অথবা "আপনার অনুরোধ প্রসেস করা যায়নি।" কখনও কখনও Chat UI কোনও ত্রুটি মেসেজ দেখায় না, কিন্তু Chat অ্যাপ বা কার্ড অপ্রত্যাশিত ফলাফল দেখায়; যেমন, কোনও কার্ড মেসেজ দেখা নাও যেতে পারে।
Chat UI-তে কোনও সমস্যার মেসেজ দেখানো না হলেও, Chat অ্যাপের জন্য সমস্যা লগ করার সুবিধা চালু থাকলে, সমস্যা সমাধান করার জন্য সমস্যার বিবরণসহ মেসেজ এবং লগ ডেটা উপলভ্য থাকে। সমস্যা দেখা, ডিবাগ করা ও সমাধান করার ব্যাপারে সাহায্য পেতে, Google Chat-এর সমস্যা সমাধান করা দেখুন।
সম্পর্কিত বিষয়
- Chat অ্যাপের জন্য JSON কার্ড মেসেজ ডিজাইন ও প্রিভিউ করতে কার্ড বিল্ডার ব্যবহার করুন।
- মেসেজ ফর্ম্যাট করা।
- কোনও মেসেজ সম্পর্কে বিবরণ পান।
- স্পেসে মেসেজের তালিকা তৈরি করা।
- মেসেজ আপডেট করুন।
- মেসেজ মুছে দেওয়া।
- Google Chat মেসেজে ব্যবহারকারীদের শনাক্ত করা।
- ইনকামিং ওয়েব হুকের মাধ্যমে Google Chat-এ মেসেজ পাঠান।