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:
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.
Action
nesnesi oluşturma ve bunu bir geri çağırma işleviyle ilişkilendirme her şeyi kapsıyor.Widget'ın
setComposeAction()
numarasını ara widget işleyici işlevi,Action
nesnesini tanımlayın veComposeEmailType
.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:
- Bir
GmailDraft
oluşturun nesnesini tanımlayın. ComposeActionResponse
oluşturunComposeActionResponseBuilder
kullanılan nesne sınıfı veGmailDraft
nesnesini tanımlayın.- Derlenmiş
ComposeActionResponse
öğesini iade edin.
- Bir
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:
GmailApp.createDraft(recipient, subject, body)
GmailApp.createDraft(recipient, subject, body, options)
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:
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)
Ö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();
}