Los complementos de Google Workspace que extienden Gmail pueden proporcionar una interfaz de usuario cuando el usuario lee mensajes. Esto permite Complementos de Google Workspace para automatizar tareas que respondan para mostrar, recuperar o enviar información adicional relacionada con el mensaje.
Accede a la IU del mensaje de complemento
Existen dos maneras de ver la IU de mensajes de un complemento. La primera es abrir un mensaje mientras el complemento ya está abierto (por ejemplo, cuando ves el la página principal del complemento en la ventana de Recibidos de Gmail). La segunda forma iniciar el complemento mientras ves un mensaje.
Cualquiera de los casos hace que el complemento ejecute el comando función de activador contextual, definida en la del complemento manifiesto. El activador también se ejecuta si el usuario cambia a un mensaje diferente mientras el complemento sigue abierto. La función de activación contextual compila la IU del mensaje para que Gmail le mostrará al usuario.
Cómo compilar un complemento de mensajes
Para agregar la funcionalidad de mensajes a un complemento, sigue estos pasos generales:
- Agrega los campos adecuados al proyecto de secuencia de comandos del complemento.
manifiesto,
incluido el
los alcances necesarios para
la funcionalidad del mensaje. Asegúrate de agregar
campo de activador condicional
al manifiesto, con un
unconditional
valor de{}
. - Implementa una función de activación contextual que compile una IU de mensajes Cuando el usuario selecciona el complemento en un mensaje.
- Implementar las funciones asociadas necesarias para responder a la IU del usuario interacciones.
Activadores contextuales
Para brindar asistencia a los usuarios cuando leen mensajes, Los complementos de Google Workspace pueden definir un activador contextual en sus manifiestos. Cuando el usuario abre un mensaje de Gmail (con el complemento abierto) que cumple con el activador de criterios* que se activa el activador. Un activador ejecutado función de activador contextual que construye el del complemento y lo devuelve para que Gmail lo muestre. En ese momento, la el usuario puede comenzar a interactuar con él.
Los activadores contextuales se definen en el proyecto de tu complemento.
manifiesto.
La definición del activador le indica a Gmail qué función de activación debe activar según cuál
condiciones. Por ejemplo, este fragmento de manifiesto establece un activador
que llame a la función de activación onGmailMessageOpen()
cuando se abre un mensaje:
{ ... "addOns": { "common": { ... }, "gmail": { "contextualTriggers": [ { "unconditional": {}, "onTriggerFunction": "onGmailMessageOpen" } ], ... }, ... } ... }
Función activadora contextual
Cada activador contextual debe tener una función de activador correspondiente
que construye la interfaz de usuario del complemento. Debes especificar esta función en tu
onTriggerFunction
del manifiesto
. Implementas esta función para aceptar un
objeto de evento de acción
argumento y muestra un único
Card
o un array de
Card
.
Cuando se activa un activador contextual para un mensaje de Gmail determinado, lo llama función y le pasa un objeto de evento de acción. A menudo, las funciones de activación usan el ID de mensaje proporcionado por este objeto de evento para obtener el texto del mensaje y otros detalles mediante la API Servicio de Gmail. Por ejemplo, el activador podría extraer el contenido del mensaje con estas funciones:
// 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 función disparadora puede actuar sobre estos datos extrayendo la información que necesita para la interfaz. Por ejemplo, un complemento que resume las ventas pueden recopilar cifras de ventas del cuerpo del mensaje y organizarlas para mostrar en una tarjeta.
La función activadora debe compilar y mostrar un array de
Card
objetos. Por ejemplo, lo siguiente compila un complemento con una sola tarjeta que
solo indica el asunto y el remitente del mensaje:
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];
}