Acciones de complementos

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Las acciones de complemento proporcionan un comportamiento interactivo a los widgets. Cuando creas una acción, defines qué sucede cuando el usuario selecciona o actualiza un widget.

En la mayoría de los casos, puedes definir acciones de complemento con objetos Action proporcionados por el servicio de tarjeta de Apps Script. Cada Action se asocia con una función de devolución de llamada cuando la creas. Implementas la función de devolución de llamada para seguir los pasos deseados cuando el usuario interactúa con el widget. También debes vincular el Action con el widget mediante una función de controlador de widgets adecuada que defina qué tipo de interacción activa la devolución de llamada Action.

Configura un widget con un Action mediante este proceso general:

  1. Crea el objeto Action y especifica la función de devolución de llamada que debe ejecutar junto con los parámetros que requiera.
  2. Llama a la función de controlador de widgets adecuada en el widget con el objeto Action.
  3. Implementa la función de devolución de llamada para implementar el comportamiento requerido.

Funciones del controlador de widgets

Para vincular un widget a un Action específico o a otro comportamiento, usa una función de controlador de widgets. La función del controlador determina qué tipo de interacción (por ejemplo, hacer clic en el widget o editar un campo de texto) activa el comportamiento de la acción. La función del controlador también define los pasos que realiza la IU, si corresponde, después de que se completa la acción.

En la siguiente tabla, se enumeran los diferentes tipos de controladores para widgets y con qué widgets se usan:

Función de controlador Activa una acción Widgets aplicables Descripción
setOnChangeAction() El valor del widget cambia DatePicker
DateTimePicker
SelectionInput
Switch
TextInput TimePicker
Configura un Action que ejecuta una función de Apps Script cuando el widget pierde el foco, por ejemplo, cuando el usuario ingresa texto en una entrada y presiona Intro. El controlador pasa automáticamente un objeto de evento a la función a la que llama. Si lo deseas, puedes insertar información adicional sobre el parámetro en este objeto de evento.
setOnClickAction() El usuario hace clic en el widget. CardAction
Image
ImageButton
DecoratedText
TextButton
Establece un Action que ejecute una función de Apps Script cuando el usuario haga clic en el widget. El controlador pasa automáticamente un objeto de evento a la función a la que llama. Puedes insertar información de parámetros opcional en este objeto de evento.
setComposeAction() El usuario hace clic en el widget. CardAction
Image
ImageButton
DecoratedText
TextButton
Específico de Gmail. Establece un Action que compile un borrador de correo electrónico y, luego, lo presente al usuario en una ventana de redacción de la IU de Gmail. Puedes crear el borrador como un mensaje nuevo o como una respuesta al mensaje abierto en Gmail. Cuando el controlador llama a la función de devolución de llamada de compilación en borrador, pasa un objeto de evento a la función de devolución de llamada. Para obtener más detalles, consulta Cómo redactar mensajes en borrador.
setOnClickOpenLinkAction() El usuario hace clic en el widget. CardAction
Image
ImageButton
DecoratedText
TextButton
Configura un Action para abrir una URL cuando el usuario hace clic en el widget. Usa este controlador cuando debas construir la URL o cuando se deban realizar otras acciones antes de que se abra el vínculo; de lo contrario, suele ser más fácil usar setOpenLink(). Solo puedes abrir la URL en una ventana nueva. Cuando se cierra, puedes hacer que la IU vuelva a cargar el complemento.
setOpenLink() El usuario hace clic en el widget. CardAction
Image
ImageButton
DecoratedText
TextButton
Abre directamente una URL cuando el usuario hace clic en el widget. Usa este controlador cuando conozcas la URL y solo necesites abrirla. De lo contrario, usa setOnClickOpenLinkAction(). Puedes abrir la URL en una ventana nueva o superpuesta. Cuando se cierra, puedes hacer que la IU vuelva a cargar el complemento.
setSuggestionsAction() El usuario ingresa texto en una entrada TextInput Configura un Action que ejecuta una función de Apps Script cuando el usuario ingresa texto en un widget de entrada de texto. El controlador pasa automáticamente un objeto de evento a la función a la que llama. Consulta Sugerencias de autocompletado para entradas de texto a fin de obtener más detalles.

Funciones de devolución de llamada

Las funciones de devolución de llamada se ejecutan cuando se activa un Action. Debido a que la función de devolución de llamada son funciones de Apps Script, puedes hacer que hagan casi cualquier otra acción que pueda hacer cualquier otra función.

A veces, una función de devolución de llamada muestra un objeto de respuesta específico. Estos tipos de respuestas indican operaciones adicionales que deben ocurrir después de que la devolución de llamada termina de ejecutarse, como mostrar una tarjeta nueva o presentar sugerencias de autocompletado. Cuando tu función de devolución de llamada debe mostrar un objeto de respuesta específico, usas una clase de compilador en el servicio de tarjeta para construir ese objeto.

En la siguiente tabla, se muestra cuándo tus funciones de devolución de llamada deben mostrar un objeto de respuesta específico para determinadas acciones. Todas estas acciones son independientes de la aplicación específica del host que extiende el complemento:

Intento de acción Se debería mostrar la función de devolución de llamada
Navegar entre tarjetas ActionResponse
Muestra un elemento Notification. ActionResponse
Abre un vínculo mediante setOnClickOpenLinkAction() ActionResponse
Mostrar sugerencias de autocompletar SuggestionResponse
Usar una acción universal UniversalActionResponse
Otras acciones Nada

Además de estas acciones, cada aplicación host tiene su propio conjunto de acciones que solo se pueden realizar en ese host. Para obtener más información, consulta las siguientes guías:

Objetos de eventos de acción

Cuando tu complemento activa un Action, la IU construye automáticamente un objeto de evento JSON y lo pasa como un argumento a la función de devolución de llamada Action. Este objeto de evento contiene información sobre el contexto del cliente actual del usuario, como los valores actuales de todos los widgets interactivos en la tarjeta que se muestra.

Los objetos de eventos de acción tienen una estructura JSON específica que organiza la información que contienen. La misma estructura se usa cuando se activa un activador de página principal para crear una página principal o cuando se activa un activador contextual para actualizar la pantalla de complemento.

Consulta Objetos de eventos para obtener una explicación completa de la estructura de objetos de eventos.