En esta página, se explica cómo crear y enviar mensajes basados en tarjetas como una app de Google Chat. Las tarjetas admiten un diseño definido, elementos interactivos de la IU (como botones) y rich media (como imágenes). Para obtener más información sobre las formas de usar las tarjetas, consulta Cómo diseñar IU dinámicas, interactivas y coherentes con tarjetas. Para obtener más información sobre los mensajes, consulta la descripción general de los mensajes de Google Chat.
Requisitos previos
Node.js
- Una cuenta de Google Workspace con acceso a Google Chat
- Una app de Chat. Para compilar una app de Chat, sigue esta guía de inicio rápido.
Nota: Las muestras de código de Node.js en esta guía están escritas para ejecutarse como una Google Cloud Function.
Python
- Una cuenta de Google Workspace con acceso a Google Chat
- Una app de Chat. Para compilar una app de Chat, sigue esta guía de inicio rápido.
Nota: Las muestras de código de Python en esta guía están escritas para ejecutarse como una función de Google Cloud Functions mediante Python 3.9.
Apps Script
- Una cuenta de Google Workspace con acceso a Google Chat
- Una app de Chat. Para compilar una app de Chat, sigue esta guía de inicio rápido.
Cómo crear mensajes de tarjetas
En esta sección, se describe cómo crear mensajes de tarjeta de dos maneras: respondiendo a una interacción del usuario y llamando a la API de Google Chat de forma asíncrona.
Responde a un usuario
Las apps de chat pueden crear mensajes de tarjeta para responder a una interacción del usuario, como cuando un usuario envía un mensaje a la app de Chat o agrega la app de Chat a un espacio. Si quieres obtener más información para responder a las interacciones del usuario, consulta Recibe y responde eventos de interacción de la app de Chat.
En este ejemplo, un usuario envía un mensaje a una app de Chat, y la app de Chat responde mediante un mensaje de tarjeta que muestra el nombre del usuario y la imagen de avatar del usuario:
Node.js
Python
Apps Script
Llama a la API de Google Chat
A continuación, se explica cómo crear un mensaje de tarjeta llamando de forma asíncrona a la API de Google Chat.
Llamar a la API de Chat de forma asíncrona requiere autenticación. Dado que solo las apps de Chat pueden crear mensajes de tarjeta, una app de Chat debe usar la autenticación de la app para crear y enviar mensajes de tarjeta (las apps de chat no pueden usar la autenticación de usuarios para enviar mensajes de tarjetas en nombre de los usuarios). Para obtener más información, consulta la descripción general de la autenticación de Google Chat.
En este ejemplo, se crea el siguiente mensaje de tarjeta mediante la autenticación de la app:

Para configurar la autenticación y obtener información sobre cómo crear mensajes de forma asíncrona, consulta la guía de la API de Chat.
Python
- En el directorio de trabajo, crea un archivo llamado
chat_create_card_message.py
. Incluye el siguiente código en
chat_create_card_message.py
:from httplib2 import Http from oauth2client.service_account import ServiceAccountCredentials from apiclient.discovery import build # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = ServiceAccountCredentials.from_json_keyfile_name( 'credentials.json', SCOPES) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', http=CREDENTIALS.authorize(Http())) # Create a Chat message. result = chat.spaces().messages().create( # The space to create the message in. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE', # The message to create. body= { 'cardsV2': [{ 'cardId': 'createCardMessage', 'card': { 'header': { 'title': 'A Card Message!', 'subtitle': 'Created with Chat REST API', 'imageUrl': 'https://developers.google.com/chat/images/chat-product-icon.png', 'imageType': 'CIRCLE' }, 'sections': [ { 'widgets': [ { 'buttonList': { 'buttons': [ { 'text': 'Read the docs!', 'onClick': { 'openLink': { 'url': 'https://developers.google.com/chat' } } } ] } } ] } ] } }] } ).execute() print(result)
En el código, reemplaza
SPACE
por el nombre de un espacio, que puedes obtener del métodospaces.list()
en la API de Chat, o bien desde la URL de un espacio.En el directorio de trabajo, compila y ejecuta la muestra:
python3 chat_create_card_message.py
Si quieres obtener más información para trabajar con mensajes en la API de Chat, consulta los siguientes vínculos:
Solución de problemas
Cuando una app de Google Chat o una tarjeta muestran un error, la interfaz de Chat muestra un mensaje que dice “Se produjo un error” o “No se pudo procesar la solicitud”. A veces, la IU de Chat no muestra ningún mensaje de error, pero la app o tarjeta de Chat producen un resultado inesperado; por ejemplo, es posible que no aparezca un mensaje de tarjeta.
Aunque es posible que no se muestre un mensaje de error en la IU de Chat, hay mensajes de error descriptivos y datos de registro disponibles para ayudarte a corregir errores cuando se activa el registro de errores para apps de chat. Si necesitas ayuda para ver, depurar y corregir errores, consulta Cómo solucionar problemas de Google Chat.
Temas relacionados
- Abrir diálogos interactivos: Crea tarjetas que se abran en una ventana.
- Leer los datos del formulario que ingresan los usuarios en las tarjetas: Crea tarjetas que les permitan a los usuarios ingresar información, como un campo de texto o un selector de fecha y hora.
- Da formato a un mensaje: Obtén información sobre cómo dar formato al texto en los mensajes.
- Recibir un mensaje: Obtén detalles sobre un mensaje, como cuándo se envió o lo que dice.
- Enumerar mensajes: Consulta una lista paginada y filtrable de mensajes en un espacio.
- Actualizar un mensaje: Cambia los atributos del mensaje, como lo que dice. También puedes agregar texto a un mensaje de tarjeta o una tarjeta a un mensaje de texto.
- Borrar un mensaje: Quita un mensaje de un espacio.