I componenti aggiuntivi di Google Workspace che estendono le funzionalità di Gmail a un'interfaccia utente quando l'utente legge i messaggi. Ciò consente Componenti aggiuntivi di Google Workspace per automatizzare le attività che rispondono ai contenuti dei messaggi, ad esempio la visualizzazione, il recupero o l'invio ulteriori informazioni relative al messaggio.
Accesso all'interfaccia utente dei messaggi del componente aggiuntivo
Esistono due modi per visualizzare l'interfaccia utente dei messaggi di un componente aggiuntivo. Il primo modo è aprire un messaggio mentre il componente aggiuntivo è già aperto (ad esempio, quando visualizzi alla home page del componente aggiuntivo nella finestra della Posta in arrivo di Gmail). Il secondo modo è avvia il componente aggiuntivo mentre visualizzi un messaggio.
Entrambi i casi fanno sì che il componente aggiuntivo esegua il codice La funzione di trigger contestuale, definita nel il componente aggiuntivo manifest. L'attivatore viene eseguito anche se l'utente passa a un messaggio diverso mentre è ancora aperto. La funzione di trigger contestuale crea l'interfaccia utente dei messaggi il messaggio, che Gmail mostra all'utente.
Creazione di un componente aggiuntivo per i messaggi
Puoi aggiungere la funzionalità di messaggistica a un componente aggiuntivo seguendo questa procedura generale:
- Aggiungi i campi appropriati al progetto di script del componente aggiuntivo
manifest,
che include
ambiti richiesti per
funzionalità di messaggistica. Assicurati di aggiungere
campo attivatore condizionale
al manifest, con un
unconditional
: pari a{}
. - Implementare una funzione di trigger contestuale che crea una UI per i messaggi quando l'utente seleziona il componente aggiuntivo in un messaggio.
- Implementare le funzioni associate necessarie per rispondere all'interfaccia utente dell'utente e interazioni.
Trigger contestuali
Per fornire assistenza agli utenti durante la lettura dei messaggi, I componenti aggiuntivi di Google Workspace possono definire un attivatore contestuale nei propri manifest. Quando l'utente apre un messaggio Gmail (con il componente aggiuntivo aperto) che soddisfa l'attivatore criteri* da cui si attiva l'attivatore. Un attivatore attivato esegue un funzione di trigger contestuale, che costruisce la del componente aggiuntivo e la restituisce per la visualizzazione in Gmail. A quel punto, l'utente possa iniziare a interagire.
Gli attivatori contestuali sono definiti nel progetto del componente aggiuntivo
manifest.
La definizione dell'attivatore indica a Gmail quale funzione di trigger attivare e in base alla quale
le condizioni di traffico. Ad esempio, questo snippet manifest imposta un attivatore incondizionato
che chiama la funzione di trigger onGmailMessageOpen()
all'apertura di un messaggio:
{ ... "addOns": { "common": { ... }, "gmail": { "contextualTriggers": [ { "unconditional": {}, "onTriggerFunction": "onGmailMessageOpen" } ], ... }, ... } ... }
Funzione trigger contestuale
A ogni attivatore contestuale deve essere associata una funzione attivatore corrispondente
che costruisce l'interfaccia utente del tuo componente aggiuntivo. Puoi specificare questa funzione
onTriggerFunction
del file manifest
. Devi implementare questa funzione per accettare
oggetto evento di azione
e restituisce un singolo argomento
Card
o un array di
Card
oggetti.
Quando un attivatore contestuale si attiva per un determinato messaggio Gmail, chiama questo e le passa una funzione oggetto evento azione. Spesso le funzioni di attivazione utilizzano l'ID messaggio fornito da questo oggetto evento per ottenere il testo del messaggio e altri dettagli utilizzando Servizio Gmail. Ad esempio, il trigger può estrarre il contenuto del messaggio utilizzando queste funzioni:
// 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();
La funzione di trigger può quindi agire su questi dati, estraendo le informazioni che necessario per l'interfaccia. Ad esempio, un componente aggiuntivo che riassume le vendite numeri possono raccogliere i dati di vendita dal corpo del messaggio e organizzarli vengono visualizzati in una scheda.
La funzione trigger deve generare e restituire un array di
Card
di oggetti strutturati. Ad esempio, la query riportata di seguito crea un componente aggiuntivo con una singola scheda che
indica solo l'oggetto e il mittente del messaggio:
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];
}