Taslak ileti oluşturma

.

Google Workspace Eklentilerinde widget'lar oluşturabilirsiniz bağlantılı işlemler içerenler. Tekliflerinizi otomatikleştirmek ve optimize etmek için yeni e-posta taslakları oluşturmaya yönelik bir işlem, isteğe bağlı olarak bunları eklenti kullanıcı arayüzüne girilen bilgiler veya açık bir mesajdan alınan bilgiler. Örneğin, girişlerinizde bir düğme eklentinin mesaj kullanıcı arayüzü Bu seçenek, önceden doldurulmuş durumdaki açık iletiye bilgilerini de yükleyebilirsiniz.

İleti oluşturan bir işlem tetiklendiğinde, Gmail bir geri arama yürütür işlevini kullanın. Daha sonra Gmail bu taslağı Kullanıcının daha sonra düzenleyip gönderebileceği, standart bir e-posta oluşturma penceresinde yer alan kullanıcı arayüzü gerekir.

Taslak ileti oluşturmak için bir işlemi yapılandırma

Bir widget'ı, seçildiğinde taslak oluşturma işlemi başlatacak şekilde yapılandırmak için: şunları yapın:

  1. Manifest dosyanızın içerir action.compose kapsam:

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

    Bunun yerine daha geniş kapsamlı bir kapsam kullanabilirsiniz ancak bunu yalnızca şu durumlarda yapmalısınız: bu kapsam kesinlikle gereklidir.

  2. Action nesnesi oluşturma ve bunu bir geri çağırma işleviyle ilişkilendirme her şeyi kapsıyor.

  3. Widget'ın setComposeAction() numarasını ara widget işleyici işlevi, Action nesnesini tanımlayın ve ComposeEmailType.

  4. Taslak oluşturma işlemini yürüten geri çağırma işlevini uygulayın. Bu işlevine bir etkinlik nesnesi verilir kullanabilirsiniz. Geri çağırma işlevi şunları yapmalıdır:

    1. Bir GmailDraft oluşturun nesnesini tanımlayın.
    2. ComposeActionResponse oluşturun ComposeActionResponseBuilder kullanılan nesne sınıfı ve GmailDraft nesnesini tanımlayın.
    3. Derlemeyi ComposeActionResponse iade edin.

GmailDraft alanını önceden doldurabilirsiniz alıcı, konu, ileti gövdesi ve ekler. Taslağı doldurmak için veri herhangi bir kaynaktan gelebilir, ancak genellikle sağlanan bilgiler, açık iletideki bilgiler veya üçüncü taraf bir hizmetten toplanan bilgiler. İlgili içeriği oluşturmak için kullanılan etkinlik nesnesi geri çağırma işlevine aktarılan, açık mesaj kimliğini ve diğer eklentiyi içeren daha fazla bilgi edindiniz.

Taslağı yeni bir bağımsız mesaj veya yanıt olarak oluşturabilirsiniz. mevcut bir mesajdır. Bu, ComposeEmailType enum değeri setComposeAction(). Yanıt taslaklarını tek bir yanıt veya "tümünü yanıtla" olarak oluşturabilirsiniz. mesaj.

Bağımsız taslaklar

Bağımsız bir taslak yeni bir ileti dizisi başlatır ve mevcut herhangi bir ileti dizisine yanıt değildir mesajını alırsınız. Aşağıdakilerden birini kullanarak bağımsız bir taslak oluşturabilirsiniz: Gmail hizmeti işlevleri:

Yanıt taslakları

Yanıt taslağı, mevcut bir ileti dizisinin parçasıdır. Yanıt taslakları yalnızca iletiyi gönderene gönderilen veya "tümünü yanıtla" gibi tek bir yanıt tüm alıcılara gönderilen taslaklar. Web sitemiz g.co/newsinitiative/labs üzerinden bu Gmail hizmetlerinden biriyle taslak yanıtlayın işlevler:

Örnek

Aşağıdaki kod snippet'i, yanıt oluşturan bir işlemin nasıl atanacağını gösterir bir düğmeye ekleyin.

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