Configura la API de Google Chat

Cada app de Google Chat que crees requiere su propio proyecto de Google Cloud con la API de Chat habilitada y configurada.

Para realizar llamadas a la API de solo lectura con la autenticación de usuarios, como obtener espacios y enumerar mensajes, solo necesitas habilitar la API y crear un cliente de OAuth.

Para realizar llamadas a la API de creación, actualización y eliminación, o para implementar y probar una app de Chat interactiva (creada como un complemento de Google Workspace que extiende Chat), también debes configurar la API de Chat. En la configuración de la API de Chat, especificas todos los detalles de la app de Chat, como el nombre visible, el avatar, los extremos de implementación y las funciones interactivas.

Requisitos previos

Elige un nombre visible, un avatar y una descripción para tu app de Chat

Cuando habilitas la API de Chat, configuras los detalles de tu app de Chat que aparecen para los usuarios en Chat, incluidos un nombre visible, un avatar y una descripción. Estos detalles solo aparecen en Chat. Para publicar tu app de Chat en Marketplace, también debes especificar los detalles que aparecen en la ficha de Marketplace de tu app de Chat.

Antes de configurar una app de Chat, prepara la siguiente información:

Campo Descripción Formato
Nombre de la aplicación Es el nombre visible de la app de Chat. Hasta 25 caracteres alfanuméricos
URL del avatar Es la imagen que se muestra como el avatar de tu app de Chat. Es una URL HTTPS que apunta a una imagen gráfica cuadrada (PNG o JPEG). El tamaño recomendado es de 256 × 256 píxeles o más.
Descripción Es una breve descripción del propósito de la app de Chat. Hasta 40 caracteres alfanuméricos

El nombre, el avatar y la descripción de la app de Chat se muestran a los usuarios en la IU de Chat. En algunas solicitudes de escritura de la API de Chat, Chat usa esta información para atribuir las acciones que realiza una app de Chat en Chat.

Por ejemplo, si llamas al método spaces.create(), Chat incluye el nombre de la app de Chat en la descripción de quién creó el espacio, como se muestra en la siguiente imagen:

La app de Google Chat crea un espacio para un usuario.
Figura 1: Es el mensaje de atribución que Chat muestra cuando se usa el método spaces.create() para crear un espacio en nombre de un usuario.

Para interactuar con las apps de Chat, los usuarios también ven o usan esta información de las siguientes maneras:

  • Menciona con @ la app de Chat para agregarla a un espacio o enviarle un mensaje.
  • Busca y comienza un mensaje directo con la app de Chat. En el menú Apps, los mensajes directos muestran el nombre y el avatar de la app de Chat.
  • Desde la barra para escribir, los usuarios pueden explorar las apps de Chat y ver su nombre, avatar y descripción.

Configura tu app de Chat en la consola de Google Cloud

Cuando tengas los detalles de tu app de Chat, abre tu proyecto de Cloud y configura la API de Chat:

  1. En la consola de Google Cloud, ve a la página de la API de Chat y haz clic en la página Configuración:

    Ir a la página de configuración de la API de Chat

  2. En Información de la aplicación, completa los campos Nombre de la app, URL del avatar y Descripción.

  3. Opcional: En el menú Sintaxis de lenguaje de marcado, selecciona la sintaxis de lenguaje de marcado predeterminada (Markdown o Chat) para los mensajes de tu app de Chat. Para obtener más información sobre el formato de texto y cómo Chat determina la sintaxis de lenguaje de marcado para las solicitudes a la API, consulta Cómo dar formato a los mensajes.

  4. En Funciones interactivas, configura si tu app de Chat responde a las interacciones de los usuarios:

    Para compilar una app de Chat interactiva, activa Habilitar funciones interactivas y completa lo siguiente:

    1. En Funcionalidad, haz lo siguiente:
      • Opcional: Selecciona Admitir la página principal de la app para mostrar una tarjeta de página principal en la pestaña Página principal de los mensajes directos 1:1 con la app de Chat.
      • Selecciona Unirse a espacios y conversaciones grupales para que tu app de Chat esté disponible para instalar y usar. De forma predeterminada, los usuarios pueden instalar la app de Chat y enviar mensajes con ella en un espacio dedicado entre el usuario y la app de Chat. Los usuarios también pueden agregar la app de Chat e interactuar con ella en espacios con varias personas.
    2. En Configuración de la conexión, selecciona la arquitectura que deseas usar para recibir objetos de eventos de Chat:

      • Para usar un servicio HTTP, selecciona URL de extremo HTTP y proporciona una URL.
      • Para usar un proyecto de Google Apps Script, selecciona Apps Script y proporciona un ID de implementación para el proyecto.
      • Para usar un agente de Dialogflow, selecciona Dialogflow, elige Dialogflow CX o Dialogflow ES, y proporciona el nombre del recurso del agente.
      • Para usar Pub/Sub, selecciona Cloud Pub/Sub y, luego, ingresa el nombre del tema.
    3. Opcional: Para enrutar objetos de eventos a extremos o funciones específicos, ve a Configuración de conexión > Activadores y proporciona o actualiza los extremos o las funciones de devolución de llamada para los siguientes activadores de Chat:

      • Página principal de la app (si la opción Admitir la página principal de la app está habilitada): Un usuario abre la pestaña Página principal en un mensaje directo 1:1 con la app de Chat.
      • Se agregó al espacio: Un usuario agrega la app de Chat a una conversación grupal o un espacio, o instala la app de Chat para mensajes 1:1.
      • Mensaje: Un usuario envía un mensaje a la app de Chat. Por ejemplo, un usuario envía un mensaje directo a la app de Chat o menciona con @a la app de Chat en un espacio con varias personas.
      • Se quitó del espacio: Un usuario desinstala o quita la app de Chat de un espacio.
      • Comando de app: Un usuario invoca un comando rápido, un comando de barra o una acción de mensaje desde la app de Chat.
    4. Opcional: Agrega otras funciones interactivas, como instrucciones de inicio, comandos (comandos rápidos, comandos de barra y acciones de mensajes) o vistas previas de vínculos.

    5. En Visibilidad, especifica tu dirección de correo electrónico para que puedas instalar y probar la app de Chat antes de publicarla en Google Workspace Marketplace. Puedes especificar hasta cinco personas o uno o más Grupos de Google de tu organización de Google Workspace.

  5. Opcional: En Registros, selecciona la casilla de verificación Registrar errores en Logging para usar Google Cloud Logging. Para obtener más información, consulta Consulta los registros de errores de las apps de Chat.

  6. Haz clic en Guardar.

Después de guardar la configuración, cualquier persona que hayas especificado en el parámetro de configuración Visibilidad de la API de Chat podrá instalar, probar o usar la app de Chat. Para comenzar a probar y depurar tu app de Chat, consulta Prueba las funciones interactivas de las apps de Google Chat.

Configura tu app de Chat con la API de complementos de Google Workspace

En lugar de configurar tu app de Chat de forma manual en la consola de Google Cloud, puedes usar tu proyecto de Google Cloud inscrito en el programa de Versión preliminar para desarrolladores de Google Workspace para leer y actualizar de forma programática la configuración de una app de Chat compilada como un complemento de Google Workspace con el recurso chatAppConfig en la Google Workspace add-ons API.

chatAppConfig es un recurso singleton que siempre existe para cada proyecto de Cloud. Antes de guardar una configuración por primera vez, el recurso contiene una configuración vacía (que también es lo que GetChatAppConfig devuelve si lees el recurso antes de guardarlo por primera vez). Como el recurso ya existe, no necesitas crearlo por separado; usa UpdateChatAppConfig para guardar la configuración inicial y actualizar una configuración existente.

Requisitos previos y autenticación

Antes de llamar a GetChatAppConfig o UpdateChatAppConfig, completa los siguientes requisitos previos:

  1. Inscribe tu proyecto de Google Cloud en el Programa de Versión preliminar para desarrolladores de Google Workspace.
  2. Habilita la API de complementos de Google Workspace (gsuiteaddons.googleapis.com) en tu proyecto de Cloud. De manera opcional, puedes habilitar la API de Google Chat (chat.googleapis.com) si quieres ver o actualizar la configuración de la app de Chat en la consola de Google Cloud o llamar a la API de Chat.
  3. Autentícate como usuario humano con una credencial de OAuth 2.0 que incluya el permiso https://www.googleapis.com/auth/cloud-platform. La autenticación de la cuenta de servicio no es compatible con los métodos chatAppConfig.
  4. Asegúrate de que el usuario autenticado tenga los permisos de Identity and Access Management (IAM) necesarios en el proyecto de Cloud de destino:
    • gsuiteaddons.chatAppConfigs.get y chat.bots.get para leer la configuración (GetChatAppConfig).
    • gsuiteaddons.chatAppConfigs.update y chat.bots.update para actualizar la configuración (UpdateChatAppConfig).
  5. Si usas una biblioteca cliente, descarga la biblioteca cliente de la Versión preliminar para desarrolladores con tu cuenta registrada de la Versión preliminar para desarrolladores.

Actualiza la configuración de una app de Chat

Para configurar una app de Chat por primera vez o actualizar una configuración existente, envía una solicitud PATCH (UpdateChatAppConfig) al recurso singleton chatAppConfig de tu proyecto de Cloud:

  • Para el guardado inicial en un proyecto de Cloud con un chatAppConfig vacío, se requieren displayName (de 3 a 25 caracteres) y description (de 1 a 40 caracteres). Si omites interactiveFeatureConfig en el guardado inicial, la app de Chat se configurará como no interactiva.
  • Para las actualizaciones posteriores, usa el parámetro de consulta opcional updateMask para especificar los campos separados por comas que se actualizarán (u omite updateMask para actualizar todos los campos proporcionados). Cuando se actualiza un campo repetido (appCommands, urlPatterns o allowlistedTestingPrincipals), se reemplaza toda la lista.
PATCH https://gsuiteaddons.googleapis.com/v1/projects/PROJECT_NUMBER/chatAppConfig?updateMask=displayName,description,avatarUri,state,errorLoggingEnabled,markupSyntax,interactiveFeatureConfig
Authorization: Bearer ACCESS_TOKEN
Content-Type: application/json

{
  "name": "projects/PROJECT_NUMBER/chatAppConfig",
  "displayName": "Cymbal Assistant",
  "description": "Helps manage tasks and schedules",
  "avatarUri": "https://www.gstatic.com/dynamite/images/quickstart-app-avatar.png",
  "state": "ACTIVE",
  "errorLoggingEnabled": true,
  "markupSyntax": "MARKUP_SYNTAX_MARKDOWN",
  "interactiveFeatureConfig": {
    "supportsMultiuserSpaces": false,
    "connectionConfig": {
      "httpEndpointConfig": {
        "commonUrl": "https://example.com/chat"
      }
    },
    "appCommands": [
      {
        "commandType": "SLASH_COMMAND",
        "commandId": 1,
        "command": "/help",
        "description": "Show available commands",
        "dialogEnabled": false
      }
    ],
    "urlPatterns": [
      {
        "hostPattern": "example.com",
        "pathPrefix": "tasks/"
      }
    ],
    "allowlistedTestingPrincipals": [
      "USER_EMAIL"
    ]
  }
}

Reemplaza lo siguiente en la URL, el encabezado y el cuerpo de la solicitud:

  • PROJECT_NUMBER: Es el número numérico del proyecto de Cloud que aloja tu app de Chat.
  • ACCESS_TOKEN: Es un token de acceso de OAuth 2.0 de usuario autorizado con el permiso https://www.googleapis.com/auth/cloud-platform.
  • USER_EMAIL: Es una dirección de correo electrónico o un Grupo de Google de tu organización de Google Workspace que se agregará a la lista de entidades permitidas para probar la app de Chat (por ejemplo, tu propia dirección de correo electrónico).
  • Los campos de configuración de ejemplo en el cuerpo de la solicitud (como displayName, description, avatarUri y interactiveFeatureConfig, incluidos la configuración del extremo, los comandos, los patrones de URL de vista previa de vínculos y las principales de prueba) con los valores de tu app de Chat. Para obtener detalles sobre todos los campos y las opciones de extremos compatibles, consulta la referencia de REST de projects.chatAppConfig y projects.chatAppConfig.patch.

Obtén la configuración de una app de Chat

Para leer la configuración actual de la app de Chat de un proyecto de Cloud, llama a GetChatAppConfig. Puedes pasar el parámetro de consulta opcional view (ChatAppConfigView):

  • BASIC (predeterminado): Devuelve metadatos básicos sin interactiveFeatureConfig.
  • FULL: Devuelve todos los campos de configuración, incluido interactiveFeatureConfig.

Si aún no se guardó la configuración de la app de Chat para el proyecto de Cloud, el método devuelve un objeto ChatAppConfig vacío.

HTTP

GET https://gsuiteaddons.googleapis.com/v1/projects/PROJECT_NUMBER/chatAppConfig?view=FULL
Authorization: Bearer ACCESS_TOKEN

Node.js

const {GSuiteAddOnsClient} = require('@google-cloud/gsuiteaddons').v1;

const client = new GSuiteAddOnsClient();

async function getChatAppConfig() {
  const [response] = await client.getChatAppConfig({
    name: 'projects/PROJECT_NUMBER/chatAppConfig',
    view: 'FULL',
  });
  console.log(JSON.stringify(response, null, 2));
}

getChatAppConfig();

Python

from google.cloud import gsuiteaddons_v1

client = gsuiteaddons_v1.GSuiteAddOnsClient()

request = gsuiteaddons_v1.GetChatAppConfigRequest(
    name="projects/PROJECT_NUMBER/chatAppConfig",
    view=gsuiteaddons_v1.GetChatAppConfigRequest.ChatAppConfigView.FULL,
)
response = client.get_chat_app_config(request=request)
print(response)

Consideraciones para los complementos de Google Workspace existentes

Las apps de Chat requieren una configuración diferente en comparación con los complementos de Google Workspace que extienden otras aplicaciones de Google Workspace. Si tu complemento extiende otras aplicaciones de Google Workspace, ten en cuenta los siguientes requisitos para configurar la app de Chat:

  • Tanto las personas como los administradores de Google Workspace deben poder instalar tu complemento desde Marketplace. Estos parámetros de configuración de la instalación se establecen en el SDK de Marketplace.
  • Las apps de Chat no usan el nombre ni el logotipo que configuras para otras aplicaciones de Google Workspace en el objeto addons.common del manifiesto.
  • En el caso de los complementos que se publican en Google Workspace Marketplace, no puedes guardar un borrador de los cambios en los parámetros de configuración de la API de Google Chat. Después de actualizar y guardar los parámetros de configuración de la API de Chat, la app de Chat actualizada estará disponible de inmediato para todos los usuarios existentes. Para actualizar tu ficha de Marketplace, puedes crear un borrador antes de enviar cualquier cambio.
  • Si creaste tu complemento con Apps Script, sigue estos pasos:
  • Si creaste el complemento con un servicio HTTP, omite los detalles de configuración de la app de Chat en el manifiesto projects.deployments que crees con la API de complementos de Google Workspace. Las implementaciones de HTTP que especificas en el SDK de Google Workspace Marketplace solo se usan para otras aplicaciones de Google Workspace. En su lugar, configura tu app de Chat en la consola de Google Cloud o con el recurso chatAppConfig en la API de complementos de Google Workspace.

Otorga permiso a otras personas para configurar la API de Chat

Puedes otorgar acceso a usuarios específicos a la página de configuración de la app de Chat asignándoles el rol de Identity and Access Management (IAM) de Google Cloud de propietario de apps de Chat o visualizador de apps de Chat. Los usuarios con estos roles no pueden navegar a la página de configuración de las apps de Chat con el panel de APIs y servicios, pero pueden acceder a la página de configuración navegando a la consola de Google Cloud para el proyecto de Cloud host de la app de Chat de la siguiente manera:

https://console.developers.google.com/apis/api/chat.googleapis.com/hangouts-chat?project=PROJECT_ID

En el ejemplo anterior, PROJECT_ID es el ID del proyecto de Google Cloud que aloja la app de Chat.

Apps de Chat que no son complementos: Configura la API de Google Chat

Si mantienes una app de Chat que no es un complemento de Google Workspace, tu configuración usa un solo extremo para todos los eventos de interacción en lugar de activadores por evento:

  1. En la consola de Google Cloud, ve a la página Configuración de la API de Chat:

    Ir a la página de configuración de la API de Chat

  2. En Funciones interactivas, activa Habilitar funciones interactivas.

  3. Borra Crea esta app de Chat como complemento de Google Workspace. Se abrirá un cuadro de diálogo en el que se te pedirá que confirmes la acción. En el diálogo, haz clic en Inhabilitar.

  4. En Funcionalidad, selecciona Admitir la página principal de la app o Unirse a espacios y conversaciones grupales según sea necesario.

  5. En Configuración de la conexión, especifica un solo extremo para tu app de Chat (URL del extremo HTTP, ID de implementación de Apps Script, nombre del tema de Cloud Pub/Sub o Dialogflow).

  6. Configura los Comandos, las Vistas previas de vínculos, la Visibilidad y los Registros opcionales y, luego, haz clic en Guardar.

Para actualizar una app de Chat que no es un complemento a un complemento de Google Workspace que extienda Google Chat, consulta Convierte una app de Google Chat en un complemento de Google Workspace.