একটি Google Workspace অ্যাড-অনে আপনি এমন উইজেট তৈরি করতে পারেন যার মধ্যে লিঙ্কযুক্ত অ্যাকশন থাকে। আপনি নতুন ইমেল ড্রাফ্ট তৈরি করতে একটি অ্যাকশন ব্যবহার করতে পারেন, ঐচ্ছিকভাবে অ্যাড-অন UI-তে প্রবেশ করা তথ্য বা একটি খোলা বার্তা থেকে তথ্য ব্যবহার করে সেগুলি পূরণ করতে পারেন। উদাহরণস্বরূপ, আপনার অ্যাড-অনের বার্তা UI- তে একটি বোতাম থাকতে পারে যা অ্যাড-অন থেকে তথ্য দিয়ে পূর্বে খোলা বার্তার একটি উত্তর তৈরি করে।
যখন বার্তা তৈরির কোনও ক্রিয়া শুরু হয়, তখন Gmail খসড়া তৈরি এবং ফেরত দেওয়ার জন্য একটি কলব্যাক ফাংশন কার্যকর করে। এরপর Gmail তার UI-তে একটি স্ট্যান্ডার্ড ইমেল রচনা উইন্ডোতে সেই খসড়াটি প্রদর্শন করে, যা ব্যবহারকারী প্রয়োজন অনুসারে সম্পাদনা এবং পাঠাতে পারেন।
একটি খসড়া বার্তা তৈরি করার জন্য একটি ক্রিয়া কনফিগার করা
নির্বাচিত হলে একটি ড্রাফ্ট-বিল্ডিং অ্যাকশন শুরু করার জন্য একটি উইজেট কনফিগার করতে, আপনাকে নিম্নলিখিতগুলি করতে হবে:
নিশ্চিত করুন যে আপনার ম্যানিফেস্টে
action.composescope রয়েছে:https://www.googleapis.com/auth/gmail.addons.current.action.composeআপনি এর পরিবর্তে আরও একটি অনুমতিমূলক সুযোগ ব্যবহার করতে পারেন, তবে কেবল তখনই তা করা উচিত যদি সেই সুযোগটি একেবারে প্রয়োজনীয় হয়।
একটি
Actionঅবজেক্ট তৈরি করুন এবং এটি আপনার সংজ্ঞায়িত একটি কলব্যাক ফাংশনের সাথে সংযুক্ত করুন।উইজেটের
setComposeAction()উইজেট হ্যান্ডলার ফাংশনটি কল করুন, এটিতেActionঅবজেক্টটি প্রদান করুন এবংComposeEmailTypeউল্লেখ করুন।ড্রাফ্ট-বিল্ডিং অ্যাকশনটি কার্যকর করে এমন কলব্যাক ফাংশনটি বাস্তবায়ন করুন। এই ফাংশনটিকে একটি ইভেন্ট অবজেক্ট একটি আর্গুমেন্ট হিসেবে দেওয়া হয়। কলব্যাক ফাংশনটি নিম্নলিখিত কাজগুলি করবে:
- একটি
GmailDraftঅবজেক্ট তৈরি করুন। -
ComposeActionResponseBuilderক্লাস এবংGmailDraftঅবজেক্ট ব্যবহার করে একটিComposeActionResponseঅবজেক্ট তৈরি করুন। - বিল্ট করা
ComposeActionResponseফেরত দিন।
- একটি
কলব্যাক ফাংশনে তৈরি করা GmailDraft এ আপনি প্রাপক, বিষয়, বার্তার মূল অংশ এবং সংযুক্তি দিয়ে প্রিফিল করতে পারেন। খসড়া পূরণ করার জন্য, যেকোনো উৎস থেকে ডেটা আসতে পারে, তবে সাধারণত এটি অ্যাড-অনে প্রদত্ত তথ্য, খোলা বার্তায় থাকা তথ্য বা তৃতীয় পক্ষের পরিষেবা থেকে সংগৃহীত তথ্য থেকে প্রাপ্ত হয়। কলব্যাক ফাংশনে পাঠানো ইভেন্ট অবজেক্টে ওপেন বার্তা আইডি এবং অন্যান্য অ্যাড-অন তথ্য থাকে যা আপনি ড্রাফ্টটি প্রিফিল করতে ব্যবহার করতে পারেন।
আপনি খসড়াটি একটি নতুন স্বতন্ত্র বার্তা হিসেবে অথবা বিদ্যমান বার্তার উত্তর হিসেবে তৈরি করতে পারেন। এটি setComposeAction() এ প্রদত্ত ComposeEmailType enum দ্বারা নিয়ন্ত্রিত হয়। আপনি একক উত্তর অথবা 'সকল উত্তর' বার্তা হিসেবে উত্তর খসড়া তৈরি করতে পারেন।
স্বতন্ত্র খসড়া
একটি স্বতন্ত্র খসড়া একটি নতুন থ্রেড শুরু করে এবং এটি কোনও বিদ্যমান বার্তার উত্তর নয়। আপনি নিম্নলিখিত Gmail পরিষেবা ফাংশনগুলির একটি ব্যবহার করে একটি স্বতন্ত্র খসড়া তৈরি করতে পারেন:
-
GmailApp.createDraft(recipient, subject, body) -
GmailApp.createDraft(recipient, subject, body, options)
উত্তরের খসড়া
একটি উত্তর খসড়া হল একটি বিদ্যমান বার্তা থ্রেডের অংশ। উত্তর খসড়া হল একক উত্তর যা শুধুমাত্র একটি বার্তা প্রেরকের কাছে পাঠানো হয় অথবা "সকলের উত্তর দিন" খসড়া যা সেই বার্তাটি গ্রহণকারী সকলের কাছে পাঠানো হয়। আপনি এই Gmail পরিষেবা ফাংশনগুলির একটি ব্যবহার করে একটি উত্তর খসড়া তৈরি করতে পারেন:
-
GmailMessage.createDraftReply(body) -
GmailMessage.createDraftReply(body, options) -
GmailMessage.createDraftReplyAll(body) -
GmailMessage.createDraftReplyAll(body, options) -
GmailThread.createDraftReply(body) -
GmailThread.createDraftReply(body, options) -
GmailThread.createDraftReplyAll(body) -
GmailThread.createDraftReplyAll(body, options)
উদাহরণ
নিম্নলিখিত কোড স্নিপেটটি দেখায় যে কীভাবে একটি বোতামে একটি উত্তর খসড়া তৈরি করে এমন একটি ক্রিয়া বরাদ্দ করতে হয়।
var composeAction = CardService.newAction()
.setFunctionName('createReplyDraft');
var composeButton = CardService.newTextButton()
.setText('Compose Reply')
.setComposeAction(
composeAction,
CardService.ComposedEmailType.REPLY_AS_DRAFT);
// ...
/**
* Creates a draft email (with an attachment and inline image)
* as a reply to an existing message.
* @param {Object} e An event object passed by the action.
* @return {ComposeActionResponse}
*/
function createReplyDraft(e) {
// Activate temporary Gmail scopes, in this case to allow
// a reply to be drafted.
var accessToken = e.gmail.accessToken;
GmailApp.setCurrentMessageAccessToken(accessToken);
// Creates a draft reply.
var messageId = e.gmail.messageId;
var message = GmailApp.getMessageById(messageId);
var draft = message.createDraftReply('',
{
htmlBody: "Kitten! <img src='cid:kitten'/>",
attachments: [
UrlFetchApp.fetch('https://example.com/images/myDog.jpg')
.getBlob()
],
inlineImages: {
"kitten": UrlFetchApp.fetch('https://example.com/images/myKitten.jpg')
.getBlob()
}
}
);
// Return a built draft response. This causes Gmail to present a
// compose window to the user, pre-filled with the content specified
// above.
return CardService.newComposeActionResponseBuilder()
.setGmailDraft(draft).build();
}