ड्राफ़्ट मैसेज लिखना

Google Workspace ऐड-ऑन में, ऐसे विजेट बनाए जा सकते हैं जिनमें लिंक की गई कार्रवाइयां हैं. नए ईमेल ड्राफ़्ट बनाने के लिए ऐक्शन का इस्तेमाल किया जा सकता है. विकल्प के तौर पर, ऐड-ऑन यूज़र इंटरफ़ेस (यूआई) में डाली गई जानकारी या किसी खुले हुए मैसेज की जानकारी का इस्तेमाल करके ईमेल को भरा जा सकता है. उदाहरण के लिए, आपके पास ऐड-ऑन के मैसेज यूज़र इंटरफ़ेस (यूआई) में एक बटन हो सकता है, जो ऐड-ऑन की जानकारी से पहले से भरे हुए मौजूदा मैसेज के लिए जवाब बनाता है.

जब मैसेज बनाने वाली कोई कार्रवाई ट्रिगर होती है, तो Gmail, ड्राफ़्ट बनाने और उसे लौटाने के लिए एक कॉलबैक फ़ंक्शन लागू करता है. इसके बाद Gmail, उस ड्राफ़्ट को ईमेल लिखने की स्टैंडर्ड विंडो में अपने यूज़र इंटरफ़ेस (यूआई) में दिखाता है. उपयोगकर्ता इस ड्राफ़्ट को बाद में ज़रूरत के हिसाब से भेज सकता है और उसमें बदलाव कर सकता है.

ड्राफ़्ट मैसेज बनाने के लिए, किसी कार्रवाई को कॉन्फ़िगर करना

विजेट को कॉन्फ़िगर करने पर, ड्राफ़्ट बनाने की कार्रवाई शुरू करने के लिए, आपको ये काम करने होंगे:

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