Extensión de la IU del mensaje

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:

  1. 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 {}.
  2. Implementa una función de activación contextual que compile una IU de mensajes Cuando el usuario selecciona el complemento en un mensaje.
  3. 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];
  }