إنشاء مسودات الرسائل

في إضافة 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. إنشاء ComposeActionResponse الكائن الذي يستخدم ComposeActionResponseBuilder الفئة وGmailDraft .
    3. عليك إرجاع ComposeActionResponse التي تم إنشاؤها.

يمكنك ملء GmailDraft بشكل مسبق. التي تقوم بإنشائها في دالة رد الاتصال المستلمون والموضوع ونص الرسالة والمرفقات. لملء المسودة، يمكن أن تأتي البيانات من أي مصدر، ولكنها عادةً ما تكون مستمدة من المعلومات المقدمة إلى الإضافة نفسها أو المعلومات الواردة في الرسالة المفتوحة المعلومات التي يتم جمعها من خدمة تابعة لجهة خارجية تشير رسالة الأشكال البيانية كائن الحدث يتم تمريره إلى دالة معاودة الاتصال ويحتوي على معرّف الرسالة المفتوحة وإضافات أخرى معلومات يمكنك استخدامها لملء المسودة مسبقًا.

يمكنك إنشاء المسودّة كرسالة مستقلّة جديدة أو كردّ على رسالة حالية. يتم التحكم في هذا من خلال ComposeEmailType التعداد الممنوح إلى setComposeAction() يمكنك إنشاء مسودات ردود كردود فردية أو كردّ على الكل. الرسائل.

مسودات مستقلة

تبدأ المسودّة المستقلة سلسلة محادثات جديدة ولا تكون ردًا على أي سلسلة محادثات حالية. . يمكنك إنشاء مسودة مستقلة بإحدى الطرق التالية: وظائف خدمة 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();
  }