Configurer l'API Google Chat

Chaque application Google Chat que vous créez nécessite son propre projet Google Cloud avec l'API Chat activée et configurée.

Pour effectuer des appels d'API en lecture seule avec l'authentification des utilisateurs, par exemple pour obtenir des espaces et lister des messages, il vous suffit d'activer l'API et de créer un client OAuth.

Pour effectuer des appels d'API de création, de mise à jour et de suppression, ou pour déployer et tester une application Chat interactive (créée en tant que module complémentaire Google Workspace qui étend Chat), vous devez également configurer l'API Chat. Les paramètres de configuration de l'API Chat vous permettent de spécifier tous les détails de l'application Chat, y compris son nom à afficher, son avatar, ses points de terminaison de déploiement et ses fonctionnalités interactives.

Prérequis

Choisir un nom à afficher, un avatar et une description pour votre application Chat

Lorsque vous activez l'API Chat, vous configurez les détails de votre application Chat qui s'affichent pour les utilisateurs dans Chat, y compris un nom à afficher, un avatar et une description. Ces informations ne s'affichent que dans Chat. Pour publier votre application Chat sur Marketplace, vous devez également spécifier les détails qui apparaissent dans la fiche Marketplace de votre application Chat.

Avant de configurer une application Chat, préparez les informations suivantes :

Champ Description Format
Nom de l'application Nom à afficher de l'application Chat. Jusqu'à 25 caractères alphanumériques
URL de l'avatar Image qui s'affiche comme avatar de votre application Chat. URL HTTPS pointant vers une image graphique carrée (PNG ou JPEG). La taille recommandée est de 256 x 256 pixels ou plus.
Description Brève description de l'objectif de l'application Chat. Jusqu'à 40 caractères alphanumériques

Le nom, l'avatar et la description de l'application Chat sont affichés aux utilisateurs dans l'interface utilisateur de Chat. Pour certaines requêtes d'écriture de l'API Chat, Chat utilise ces informations pour attribuer les actions qu'une application Chat effectue dans Chat.

Par exemple, si vous appelez la méthode spaces.create(), Chat inclut le nom de l'application Chat dans la description de la personne qui a créé l'espace, comme illustré dans l'image suivante :

L'application Google Chat crée un espace pour un utilisateur.
Figure 1. Message d'attribution que Chat affiche lorsque la méthode spaces.create() est utilisée pour créer un espace au nom d'un utilisateur.

Pour interagir avec les applications Chat, les utilisateurs voient ou utilisent également ces informations de la manière suivante :

  • @mentionnez l'application Chat pour l'ajouter à un espace ou lui envoyer un message.
  • Recherchez l'application Chat et démarrez un message privé avec elle. Dans le menu Applications, les messages privés affichent le nom et l'avatar de l'application Chat.
  • Dans la barre de rédaction, les utilisateurs peuvent parcourir les applications Chat et voir leur nom, leur avatar et leur description.

Configurer votre application Chat dans la console Google Cloud

Une fois que vous disposez des informations sur votre application Chat, ouvrez votre projet Cloud et configurez l'API Chat :

  1. Dans la console Google Cloud, accédez à la page de l'API Chat, puis cliquez sur la page Configuration :

    Accéder à la page de configuration de l'API Chat

  2. Sous Informations sur l'application, renseignez les champs Nom de l'application, URL de l'avatar et Description.

  3. Facultatif : dans le menu Syntaxe de balisage, sélectionnez la syntaxe de balisage par défaut (Markdown ou Chat) pour les messages de votre application Chat. Pour en savoir plus sur la mise en forme du texte et sur la façon dont Chat détermine la syntaxe de balisage pour les requêtes API, consultez Mettre en forme les messages.

  4. Sous Fonctionnalités interactives, indiquez si votre application Chat doit répondre aux interactions des utilisateurs :

    Pour créer une application Chat interactive, activez l'option Activer les fonctionnalités interactives et procédez comme suit :

    1. Sous Fonctionnalité :
      • Facultatif : Sélectionnez Prendre en charge l'accueil de l'application pour afficher une fiche de page d'accueil dans l'onglet Accueil des messages privés (1:1) avec l'application Chat.
      • Sélectionnez Rejoindre des espaces et des conversations de groupe pour que votre application Chat puisse être installée et utilisée. Par défaut, les utilisateurs peuvent installer l'application Chat et échanger des messages avec elle dans un espace dédié entre l'utilisateur et l'application Chat. Ils peuvent également ajouter l'application Chat et interagir avec elle dans des espaces regroupant plusieurs personnes.
    2. Sous Paramètres de connexion, sélectionnez l'architecture que vous souhaitez utiliser pour recevoir des objets d'événement de Chat :

      • Pour utiliser un service HTTP, sélectionnez URL du point de terminaison HTTP et indiquez une URL.
      • Pour utiliser un projet Google Apps Script, sélectionnez Apps Script et indiquez un ID de déploiement pour le projet.
      • Pour utiliser un agent Dialogflow, sélectionnez Dialogflow, sélectionnez Dialogflow CX ou Dialogflow ES, puis indiquez le nom de ressource de l'agent.
      • Pour utiliser Pub/Sub, sélectionnez Cloud Pub/Sub et saisissez le nom du sujet.
    3. Facultatif : Pour acheminer les objets d'événement vers des points de terminaison ou des fonctions spécifiques, accédez à Paramètres de connexion > Déclencheurs, puis fournissez ou mettez à jour les points de terminaison ou les fonctions de rappel pour les déclencheurs Chat suivants :

      • Accueil de l'application (si l'option Prendre en charge l'accueil de l'application est activée) : un utilisateur ouvre l'onglet Accueil dans un message privé avec l'application Chat.
      • Ajouté à l'espace : un utilisateur ajoute l'application Chat à une conversation de groupe ou à un espace, ou installe l'application Chat pour les messages privés.
      • Message : un utilisateur envoie un message à l'application Chat. Par exemple, un utilisateur envoie un message privé à l'application Chat ou @mentionne l'application Chat dans un espace avec plusieurs personnes.
      • Removed from space : un utilisateur désinstalle ou supprime l'application Chat d'un espace.
      • Commande d'application : un utilisateur appelle une commande rapide, une commande à barre oblique ou une action de message depuis l'application Chat.
    4. Facultatif : ajoutez d'autres fonctionnalités interactives telles que des prompts de démarrage, des commandes (commandes rapides, commandes à barre oblique et actions de message) ou des aperçus de liens.

    5. Sous Visibilité, spécifiez votre adresse e-mail pour pouvoir installer et tester l'application Chat avant de la publier sur Google Workspace Marketplace. Vous pouvez spécifier jusqu'à cinq personnes, ou un ou plusieurs groupes Google de votre organisation Google Workspace.

  5. Facultatif : sous Journaux, cochez la case Consigner les erreurs dans Logging pour utiliser Google Cloud Logging. Pour en savoir plus, consultez Interroger les journaux d'erreurs des applications Chat.

  6. Cliquez sur Enregistrer.

Une fois la configuration enregistrée, toutes les personnes que vous avez spécifiées dans le paramètre Visibilité de l'API Chat peuvent installer, tester ou utiliser l'application Chat. Pour commencer à tester et à déboguer votre application Chat, consultez Tester les fonctionnalités interactives des applications Google Chat.

Configurer votre application Chat à l'aide de l'API Google Workspace Add-ons

Au lieu de configurer manuellement votre application Chat dans la console Google Cloud, vous pouvez utiliser votre projet Google Cloud inscrit au programme Preview développeur Google Workspace pour lire et mettre à jour de manière programmatique la configuration d'une application Chat créée en tant que module complémentaire Google Workspace à l'aide de la ressource chatAppConfig dans l'Google Workspace add-ons API.

chatAppConfig est une ressource singleton qui existe toujours pour chaque projet Cloud. Avant d'enregistrer une configuration pour la première fois, la ressource contient une configuration vide (qui est également ce que GetChatAppConfig renvoie si vous lisez la ressource avant le premier enregistrement). Comme la ressource existe déjà, vous n'avez pas besoin de la créer séparément. Utilisez UpdateChatAppConfig pour enregistrer la configuration initiale et mettre à jour une configuration existante.

Prérequis et authentification

Avant d'appeler GetChatAppConfig ou UpdateChatAppConfig, remplissez les conditions préalables suivantes :

  1. Enregistrez votre projet Google Cloud dans le programme Preview développeur Google Workspace.
  2. Activez l'API Google Workspace Add-ons (gsuiteaddons.googleapis.com) dans votre projet Cloud. Vous pouvez éventuellement activer l'API Google Chat (chat.googleapis.com) si vous souhaitez afficher ou mettre à jour la configuration de l'application Chat dans la console Google Cloud ou appeler l'API Chat.
  3. S'authentifier en tant qu'utilisateur humain avec un identifiant OAuth 2.0 incluant le champ d'application https://www.googleapis.com/auth/cloud-platform. L'authentification par compte de service n'est pas compatible avec les méthodes chatAppConfig.
  4. Assurez-vous que l'utilisateur authentifié dispose des autorisations IAM (Identity and Access Management) requises sur le projet Cloud cible :
    • gsuiteaddons.chatAppConfigs.get et chat.bots.get pour lire la configuration (GetChatAppConfig).
    • gsuiteaddons.chatAppConfigs.update et chat.bots.update pour mettre à jour la configuration (UpdateChatAppConfig).
  5. Si vous utilisez une bibliothèque cliente, téléchargez la bibliothèque cliente de la preview développeur avec votre compte de preview développeur enregistré.

Mettre à jour la configuration d'une application Chat

Pour configurer une application Chat pour la première fois ou mettre à jour une configuration existante, envoyez une requête PATCH (UpdateChatAppConfig) à la ressource singleton chatAppConfig de votre projet Cloud :

  • Pour l'enregistrement initial d'un projet cloud avec un chatAppConfig vide, les champs displayName (3 à 25 caractères) et description (1 à 40 caractères) sont obligatoires. Si vous omettez interactiveFeatureConfig lors de l'enregistrement initial, l'application Chat est configurée comme non interactive.
  • Pour les mises à jour ultérieures, utilisez le paramètre de requête facultatif updateMask pour spécifier les champs à mettre à jour, séparés par une virgule (ou omettez updateMask pour mettre à jour tous les champs fournis). La mise à jour d'un champ répété (appCommands, urlPatterns ou allowlistedTestingPrincipals) remplace l'intégralité de la liste.
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"
    ]
  }
}

Remplacez les éléments suivants dans l'URL, l'en-tête et le corps de la requête :

  • PROJECT_NUMBER : numéro du projet Cloud hébergeant votre application Chat.
  • ACCESS_TOKEN : jeton d'accès OAuth 2.0 d'un utilisateur autorisé avec le champ d'application https://www.googleapis.com/auth/cloud-platform.
  • USER_EMAIL : adresse e-mail ou groupe Google de votre organisation Google Workspace à ajouter à la liste d'autorisation pour tester l'application Chat (par exemple, votre propre adresse e-mail).
  • Les exemples de champs de configuration dans le corps de la requête (tels que displayName, description, avatarUri et interactiveFeatureConfig, y compris la configuration de votre point de terminaison, les commandes, les formats d'URL d'aperçu des liens et les comptes principaux de test) avec les valeurs de votre application Chat. Pour en savoir plus sur tous les champs et options de point de terminaison compatibles, consultez la documentation de référence REST projects.chatAppConfig et projects.chatAppConfig.patch.

Obtenir la configuration d'une application Chat

Pour lire la configuration actuelle de l'application Chat pour un projet Cloud, appelez GetChatAppConfig. Vous pouvez transmettre le paramètre de requête facultatif view (ChatAppConfigView) :

  • BASIC (par défaut) : renvoie les métadonnées de base sans interactiveFeatureConfig.
  • FULL : renvoie tous les champs de configuration, y compris interactiveFeatureConfig.

Si la configuration de l'application Chat n'a pas encore été enregistrée pour le projet Cloud, la méthode renvoie un objet ChatAppConfig vide.

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)

Remarques concernant les modules complémentaires Google Workspace existants

Les applications Chat nécessitent une configuration différente de celle des modules complémentaires Google Workspace qui étendent d'autres applications Google Workspace. Si votre module complémentaire étend d'autres applications Google Workspace, tenez compte des exigences suivantes pour configurer l'application Chat :

  • Les utilisateurs individuels et les administrateurs Google Workspace doivent pouvoir installer votre module complémentaire depuis Marketplace. Vous configurez ces paramètres d'installation dans le SDK Marketplace.
  • Les applications Chat n'utilisent pas le nom ni le logo que vous configurez pour les autres applications Google Workspace dans l'objet addons.common du fichier manifeste.
  • Pour les modules complémentaires publiés sur Google Workspace Marketplace, vous ne pouvez pas enregistrer de brouillon des modifications apportées aux paramètres de configuration de l'API Google Chat. Une fois que vous avez mis à jour et enregistré les paramètres de configuration de l'API Chat, l'application Chat mise à jour est immédiatement disponible pour tous les utilisateurs existants. Pour mettre à jour votre fiche Marketplace, vous pouvez créer un brouillon avant d'envoyer des modifications.
  • Si vous avez créé votre module complémentaire à l'aide d'Apps Script :
  • Si vous avez créé votre module complémentaire à l'aide d'un service HTTP, omettez les détails de configuration de l'application Chat dans le fichier manifeste projects.deployments que vous créez à l'aide de l'API Google Workspace Add-ons. Les déploiements HTTP que vous spécifiez dans le SDK Google Workspace Marketplace ne sont utilisés que pour d'autres applications Google Workspace. Configurez plutôt votre application Chat dans la console Google Cloud ou à l'aide de la ressource chatAppConfig dans l'API Google Workspace Add-ons.

Autoriser d'autres personnes à configurer l'API Chat

Vous pouvez accorder à des utilisateurs spécifiques l'accès à la page de configuration de l'application Chat en leur attribuant le rôle IAM (Identity and Access Management) Google Cloud Propriétaire d'applications Chat ou Lecteur d'applications Chat. Les utilisateurs disposant de ces rôles ne peuvent pas accéder à la page de configuration des applications Chat à l'aide du tableau de bord API et services, mais ils peuvent accéder à la page de configuration en accédant à la console Google Cloud pour le projet Cloud hôte de l'application Chat comme suit :

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

Où PROJECT_ID est l'ID du projet Google Cloud hébergeant l'application Chat.

Applications Chat qui ne sont pas des modules complémentaires : configurer l'API Google Chat

Si vous gérez une application Chat qui n'est pas un module complémentaire Google Workspace, votre configuration utilise un seul point de terminaison pour tous les événements d'interaction, plutôt que des déclencheurs par événement :

  1. Dans la console Google Cloud, accédez à la page Configuration de l'API Chat :

    Accéder à la page de configuration de l'API Chat

  2. Sous Fonctionnalités interactives, activez l'option Activer les fonctionnalités interactives.

  3. Décochez l'option Créer cette application Chat en tant que module complémentaire Google Workspace. Une boîte de dialogue s'ouvre pour vous demander de confirmer. Dans la boîte de dialogue, cliquez sur Désactiver.

  4. Sous Fonctionnalité, sélectionnez Prise en charge de l'accueil de l'application ou Rejoindre des espaces et des conversations de groupe, selon vos besoins.

  5. Sous Paramètres de connexion, spécifiez un seul point de terminaison pour votre application Chat (URL du point de terminaison HTTP, ID de déploiement Apps Script, nom du sujet Cloud Pub/Sub ou Dialogflow).

  6. Configurez les options facultatives Commandes, Aperçus des liens, Visibilité et Journaux, puis cliquez sur Enregistrer.

Pour transformer une application Chat qui n'est pas un module complémentaire en module complémentaire Google Workspace qui étend Google Chat, consultez Convertir une application Google Chat en module complémentaire Google Workspace.