W dodatku do Google Workspace możesz tworzyć widżety z którymi są powiązane działania. Za pomocą utwórz nowe wersje robocze e-maili (opcjonalnie możesz wypełnić je za pomocą informacje wpisane w interfejsie dodatku lub informacje z otwartej wiadomości. Możesz na przykład umieścić przycisk na swojej stronie interfejs wiadomości dodatku tworzącą odpowiedź na aktualnie otwartą wiadomość zawierającą wstępnie pochodzące z dodatku.
Po wywołaniu działania tworzącego wiadomości Gmail wykonuje wywołanie zwrotne do skompilowania i zwrócenia wersji roboczej. Gmail wyświetli tę wersję roboczą Interfejs użytkownika w standardowym oknie tworzenia e-maili, które użytkownik może następnie edytować i wysłać. w razie potrzeby.
Konfigurowanie działania w celu utworzenia wersji roboczej wiadomości
Aby skonfigurować widżet, który po wybraniu rozpocznie działanie tworzenia wersji roboczej, musisz wykonaj te czynności:
Upewnij się, że Twój manifest obejmuje Zakres
action.compose
:https://www.googleapis.com/auth/gmail.addons.current.action.compose
Zamiast tego możesz użyć bardziej ograniczonego zakresu, ale należy to zrobić tylko wtedy, jest absolutnie konieczne.
Tworzenie obiektu
Action
i powiąż ją z funkcją wywołania zwrotnego zdefiniowanych przez reklamodawcę.Wywołaj polecenie
setComposeAction()
widżetu funkcji obsługi widżetów, dostarczanie muAction
i określComposeEmailType
Zaimplementuj funkcję wywołania zwrotnego, która wykonuje działanie tworzenia wersji roboczej. Ten funkcja otrzymuje obiekt zdarzenia jako argumentu. Funkcja wywołania zwrotnego musi:
- Tworzenie
GmailDraft
obiektu. - Tworzenie
ComposeActionResponse
za pomocą funkcjiComposeActionResponseBuilder
iGmailDraft
obiektu. - Zwróć utworzone
ComposeActionResponse
.
- Tworzenie
Możesz wstępnie wypełnić pole GmailDraft
tworzone w funkcji wywołania zwrotnego za pomocą funkcji
odbiorców, temat, treść wiadomości i załączniki. Aby wypełnić wersję roboczą:
dane mogą pochodzić z dowolnego źródła, ale zwykle pochodzą z informacji
przekazane do samego dodatku, informacje w otwartej wiadomości lub
informacji zebranych z usługi innej firmy.
obiekt zdarzenia
przekazywana do funkcji wywołania zwrotnego zawiera identyfikator otwartej wiadomości i inny dodatek
informacje, których możesz użyć do wstępnego wypełnienia wersji roboczej.
Wersję roboczą możesz utworzyć jako nową, samodzielną wiadomość lub jako odpowiedź na
istniejącej wiadomości. Zależy to od
ComposeEmailType
wyliczanie podane w funkcji
setComposeAction()
Możesz tworzyć wersje robocze odpowiedzi jako pojedyncze odpowiedzi lub odpowiedzi „odpowiedz do wszystkich” wiadomości.
Samodzielne wersje robocze
Samodzielna wersja robocza otwiera nowy wątek i nie jest odpowiedzią w żadnym istniejącym . Możesz utworzyć osobną wersję roboczą, korzystając z jednej z tych usług: Funkcje usługi Gmail:
GmailApp.createDraft(recipient, subject, body)
GmailApp.createDraft(recipient, subject, body, options)
Wersje robocze odpowiedzi
Wersja robocza odpowiedzi jest częścią istniejącego wątku wiadomości. Wersje robocze odpowiedzi to: pojedyncze odpowiedzi wysyłane tylko do nadawcy wiadomości lub „Odpowiedz wszystkim” wersje robocze, które są wysyłane do wszystkich, którzy otrzymali daną wiadomość. Możesz utworzyć wersja robocza odpowiedzi w jednej z tych usług Gmail funkcje:
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)
Przykład
Ten fragment kodu pokazuje, jak przypisać działanie tworzące odpowiedź wersji roboczej do przycisku.
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();
}