খসড়া বার্তা রচনা

Google Workspace অ্যাড-অনে আপনি এমন উইজেট তৈরি করতে পারেন যাতে লিঙ্ক করা অ্যাকশন আছে। আপনি নতুন ইমেল ড্রাফ্ট রচনা করার জন্য একটি ক্রিয়া ব্যবহার করতে পারেন, বিকল্পভাবে অ্যাড-অন UI এ প্রবেশ করা তথ্য বা একটি খোলা বার্তা থেকে তথ্য ব্যবহার করে সেগুলি পূরণ করতে পারেন। উদাহরণস্বরূপ, আপনার অ্যাড-অনের বার্তা UI- তে আপনার একটি বোতাম থাকতে পারে যা অ্যাড-অন থেকে তথ্যের সাথে পূর্বে তৈরি করা বর্তমানে খোলা বার্তাটির একটি উত্তর তৈরি করে।

যখন বার্তা তৈরি করে এমন একটি অ্যাকশন ট্রিগার করা হয়, Gmail খসড়া তৈরি করতে এবং ফেরত দিতে একটি কলব্যাক ফাংশন চালায়। Gmail তারপর সেই খসড়াটি তার UI-তে একটি স্ট্যান্ডার্ড ইমেল কম্পোজ উইন্ডোতে প্রদর্শন করে, যা ব্যবহারকারী প্রয়োজন অনুযায়ী সম্পাদনা করতে এবং পাঠাতে পারে।

একটি খসড়া বার্তা তৈরি করার জন্য একটি অ্যাকশন কনফিগার করা হচ্ছে

নির্বাচিত হলে একটি ড্রাফ্ট-বিল্ডিং অ্যাকশন শুরু করার জন্য একটি উইজেট কনফিগার করতে, আপনাকে অবশ্যই নিম্নলিখিতগুলি করতে হবে:

  1. নিশ্চিত করুন যে আপনার ম্যানিফেস্টে action.compose স্কোপ অন্তর্ভুক্ত রয়েছে:

    https://www.googleapis.com/auth/gmail.addons.current.action.compose

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

  2. একটি Action অবজেক্ট তৈরি করুন এবং এটিকে আপনার সংজ্ঞায়িত একটি কলব্যাক ফাংশনের সাথে সংযুক্ত করুন।

  3. উইজেটের setComposeAction() উইজেট হ্যান্ডলার ফাংশনটিকে কল করুন, এটিকে Action অবজেক্ট প্রদান করে এবং ComposeEmailType নির্দিষ্ট করে।

  4. কলব্যাক ফাংশনটি প্রয়োগ করুন যা ড্রাফ্ট-বিল্ডিং অ্যাকশনটি কার্যকর করে। এই ফাংশন একটি যুক্তি হিসাবে একটি ঘটনা বস্তু দেওয়া হয়. কলব্যাক ফাংশন নিম্নলিখিত কাজ করতে হবে:

    1. একটি GmailDraft অবজেক্ট তৈরি করুন।
    2. ComposeActionResponseBuilder ক্লাস এবং GmailDraft অবজেক্ট ব্যবহার করে একটি ComposeActionResponse অবজেক্ট তৈরি করুন।
    3. নির্মিত ComposeActionResponse ফেরত দিন।

আপনি কলব্যাক ফাংশনে আপনার তৈরি করা GmailDraft প্রাপক, একটি বিষয়, একটি বার্তার অংশ এবং সংযুক্তিগুলি দিয়ে প্রিফিল করতে পারেন৷ খসড়াটি পূরণ করার জন্য, ডেটা যে কোনও উত্স থেকে আসতে পারে, তবে সাধারণত এটি অ্যাড-অনে দেওয়া তথ্য, খোলা বার্তায় তথ্য বা তৃতীয় পক্ষের পরিষেবা থেকে সংগৃহীত তথ্য থেকে প্রাপ্ত হয়। কলব্যাক ফাংশনে পাস করা ইভেন্ট অবজেক্টটিতে খোলা বার্তা আইডি এবং অন্যান্য অ্যাড-অন তথ্য রয়েছে যা আপনি খসড়াটি প্রিফিল করতে ব্যবহার করতে পারেন।

আপনি একটি নতুন স্বতন্ত্র বার্তা বা বিদ্যমান বার্তার উত্তর হিসাবে খসড়া তৈরি করতে পারেন৷ এটি setComposeAction() কে দেওয়া ComposeEmailType enum দ্বারা নিয়ন্ত্রিত হয়। আপনি একক উত্তর বা 'সব উত্তর' বার্তা হিসাবে উত্তরের খসড়া তৈরি করতে পারেন।

স্বতন্ত্র খসড়া

একটি স্বতন্ত্র খসড়া একটি নতুন থ্রেড শুরু করে এবং এটি কোনো বিদ্যমান বার্তার উত্তর নয়। আপনি নিম্নলিখিত Gmail পরিষেবা ফাংশনগুলির মধ্যে একটি সহ একটি স্বতন্ত্র খসড়া তৈরি করতে পারেন:

খসড়া উত্তর

একটি উত্তর খসড়া একটি বিদ্যমান বার্তা থ্রেড অংশ. উত্তরের খসড়াগুলি হয় একক উত্তর যা শুধুমাত্র একটি বার্তা প্রেরকের কাছে পাঠানো হয় বা "সমস্ত উত্তর" খসড়া যা সেই বার্তাটি যারা পেয়েছেন তাদের পাঠানো হয়৷ আপনি এই Gmail পরিষেবা ফাংশনগুলির মধ্যে একটি দিয়ে একটি উত্তর খসড়া তৈরি করতে পারেন:

উদাহরণ

নিম্নলিখিত কোড স্নিপেট দেখায় কিভাবে একটি ক্রিয়া নির্ধারণ করতে হয় যা একটি বোতামে একটি উত্তর খসড়া তৈরি করে।

  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();
  }