Dodatki do Google Workspace, które rozszerzają możliwości Gmaila, interfejsu, gdy użytkownik odczytuje wiadomości. Dzięki temu dodatki do Google Workspace automatyzujące zadania, które reagują; treści wiadomości, np. wyświetlanie, pobieranie czy wysyłanie, dodatkowe informacje dotyczące tej wiadomości.
Otwieranie interfejsu komunikatu o dodatku
Interfejs wiadomości dodatku można wyświetlić na 2 sposoby. Pierwszy sposób to otwarcie komunikat, gdy dodatek jest już otwarty (na przykład podczas wyświetlania stronie głównej dodatku w oknie skrzynki odbiorczej Gmaila). Druga metoda to uruchomić dodatek podczas wyświetlania wiadomości.
W obu przypadkach dodatek uruchomi odpowiedni funkcję aktywatora kontekstowego zdefiniowaną w manifest dodatku. Aktywator uruchamia się również wtedy, gdy użytkownik przełączy się na inną wiadomość, gdy dodatek jest nadal otwarty. Funkcja aktywatora kontekstowego tworzy interfejs wiadomości dla: którą Gmail wyświetla użytkownikowi.
Tworzenie dodatku do wiadomości
Aby dodać funkcję wiadomości do dodatku, wykonaj te ogólne czynności:
- Dodaj odpowiednie pola do projektu skryptu dodatku
manifest (manifest),
w tym
zakresy wymagane dla
wiadomości. Pamiętaj, aby dodać parametr
pole aktywatora warunkowego
do pliku manifestu z parametrem
unconditional
.{}
. - Wdróż funkcję aktywatora kontekstowego, która tworzy interfejs wiadomości gdy użytkownik wybierze dodatek w wiadomości.
- Zaimplementuj powiązane funkcje potrzebne do reagowania na interfejs użytkownika interakcje.
Reguły kontekstowe
Aby zapewnić użytkownikom pomoc podczas odczytywania wiadomości, Dodatki do Google Workspace mogą zdefiniować czynnik kontekstowy w pliku manifestu. Gdy użytkownik otwiera wiadomość w Gmailu (z otwartym dodatkiem) spełniającą warunki reguły * reguła uruchomienia reguły. Uruchomiony aktywator wykonuje funkcję aktywatora kontekstowego, która tworzy i zwraca go do Gmaila. W tym momencie użytkownik może zacząć z niej korzystać.
Aktywatory kontekstowe są zdefiniowane w projekcie dodatku
manifest.
Definicja reguły informuje Gmaila, która funkcja aktywuje funkcję, która powoduje uruchomienie
warunków. Na przykład ten fragment kodu manifestu ustawia aktywator bezwarunkowy
wywołujący po otwarciu wiadomości funkcję aktywatora onGmailMessageOpen()
:
{ ... "addOns": { "common": { ... }, "gmail": { "contextualTriggers": [ { "unconditional": {}, "onTriggerFunction": "onGmailMessageOpen" } ], ... }, ... } ... }
Funkcja aktywatora kontekstowego
Każdy aktywator kontekstowy musi mieć odpowiednią funkcję wyzwalacza
który tworzy interfejs użytkownika dodatku. Tę funkcję określasz w tagu
onTriggerFunction
pliku manifestu
. Implementujesz tę funkcję, aby akceptować
action event obiekt
i zwróci jeden
Card
lub tablica
obiekty Card
.
Gdy w przypadku danej wiadomości w Gmailu uruchamia się reguła kontekstowa, wywołuje ona i przekazuje ją action event obiekt. Funkcje aktywujące często używają identyfikatora wiadomości podanego przez ten obiekt zdarzenia aby pobrać tekst wiadomości i inne szczegóły za pomocą Usługa Gmail. Na przykład: może wyodrębnić treść wiadomości przy użyciu tych funkcji:
// Activate temporary Gmail scopes, in this case to allow
// the add-on to read message metadata and content.
var accessToken = e.gmail.accessToken;
GmailApp.setCurrentMessageAccessToken(accessToken);
// Read message metadata and content. This requires the Gmail scope
// https://www.googleapis.com/auth/gmail.addons.current.message.readonly.
var messageId = e.gmail.messageId;
var message = GmailApp.getMessageById(messageId);
var subject = message.getSubject();
var sender = message.getFrom();
var body = message.getPlainBody();
var messageDate = message.getDate();
// Setting the access token with a gmail.addons.current.message.readonly
// scope also allows read access to the other messages in the thread.
var thread = message.getThread();
var threadMessages = thread.getMessages();
// Using this link can avoid the need to copy message or thread content
var threadLink = thread.getPermalink();
Funkcja aktywująca może działać na tych danych, wyodrębniając informacje, które potrzebne do obsługi interfejsu. Może to być na przykład dodatek podsumowujący sprzedaż pozwalają zbierać dane dotyczące sprzedaży z treści wiadomości i porządkować je na karcie.
Funkcja aktywatora musi skompilować i zwrócić tablicę kompilacji
Card
obiektów. Poniższy przykład pokazuje dodatek z jedną kartą,
po prostu wyświetla temat i nadawcę wiadomości:
function onGmailMessageOpen(e) {
// Activate temporary Gmail scopes, in this case to allow
// message metadata to be read.
var accessToken = e.gmail.accessToken;
GmailApp.setCurrentMessageAccessToken(accessToken);
var messageId = e.gmail.messageId;
var message = GmailApp.getMessageById(messageId);
var subject = message.getSubject();
var sender = message.getFrom();
// Create a card with a single card section and two widgets.
// Be sure to execute build() to finalize the card construction.
var exampleCard = CardService.newCardBuilder()
.setHeader(CardService.newCardHeader()
.setTitle('Example card'))
.addSection(CardService.newCardSection()
.addWidget(CardService.newKeyValue()
.setTopLabel('Subject')
.setContent(subject))
.addWidget(CardService.newKeyValue()
.setTopLabel('From')
.setContent(sender)))
.build(); // Don't forget to build the Card!
return [exampleCard];
}