Cette page explique comment créer une application de chat à l'aide de Pub/Sub. Ce type d'architecture pour une application Chat est utile si votre organisation dispose d'un pare-feu, qui peut empêcher Chat d'envoyer des messages à votre application Chat, ou si l'application Chat utilise l'API Google Workspace Events. Toutefois, présente les limites suivantes, du fait que ces Les applications de chat peuvent uniquement envoyer et recevoir messages asynchrones:
- Impossible d'utiliser les boîtes de dialogue dans les messages. Utilisez plutôt un message de carte.
- Impossible de mettre à jour des cartes individuelles avec une réponse synchrone. Mettez plutôt à jour l'intégralité du message en appelant la méthode
patch
.
Le schéma suivant illustre l'architecture d'une application de chat créée avec Pub/Sub :
Dans le schéma précédent, un utilisateur qui interagit avec une application Chat Pub/Sub a le flux d'informations suivant :
Un utilisateur envoie un message dans Chat à une application Chat, en passant par un message privé ou un espace Chat, ou un événement se produit dans un espace Chat pour lequel l'application Chat dispose d'un abonnement actif.
Chat envoie le message à un sujet Pub/Sub.
Un serveur d'applications, c'est-à-dire un système cloud ou sur site contient la logique de l'application Chat, s'abonne au un sujet Pub/Sub pour recevoir le message via le pare-feu.
L'application Chat peut éventuellement appeler l'API Chat pour publier des messages de manière asynchrone ou effectuer d'autres opérations.
Prérequis
Java
- Compte Google Workspace Business ou Enterprise ayant accès à Google Chat.
- Un projet Google Cloud avec facturation activée. Pour vérifier que la facturation est activée pour un projet existant, consultez Vérifier l'état de facturation de vos projets. Pour créer un projet et configurer la facturation, consultez Créez un projet Google Cloud.
- Java 11 ou version ultérieure
- L'outil de gestion de paquets Maven
Python
- Compte Google Workspace Business ou Enterprise ayant accès à Google Chat.
- Un projet Google Cloud avec facturation activée. Pour vérifier que la facturation est activée pour un projet existant, consultez Vérifier l'état de facturation de vos projets. Pour créer un projet et configurer la facturation, consultez Créez un projet Google Cloud.
- Python 3.6 ou version ultérieure
- L'outil de gestion de paquets pip
Node.js
- Une entreprise Un compte Google Workspace ayant accès à Google Chat :
- Un projet Google Cloud avec facturation activée. Pour vérifier que la facturation est activée pour un projet existant, consultez Vérifier l'état de facturation de vos projets. Pour créer un projet et configurer la facturation, consultez la section Créer un projet Google Cloud.
- Node.js 14 ou version ultérieure
- La commande npm outil de gestion des packages
-
Un projet Node.js initialisé. Pour initialiser un projet, créez un dossier, puis accédez-y. Ensuite, exécutez la commande suivante dans votre interface de ligne de commande :
npm init
Configurer l'environnement
Avant d'utiliser les API Google, vous devez les activer dans un projet Google Cloud. Vous pouvez activer une ou plusieurs API dans un même projet Google Cloud.Dans la console Google Cloud, activez les API Google Chat et Pub/Sub.
Configurer Pub/Sub
Créer un sujet Pub/Sub auxquelles l'API Chat peut envoyer des messages. Nous vous recommandons d'utiliser un seul sujet par application Chat.
Accordez à Chat l'autorisation de publier dans le sujet en attribuant le rôle Éditeur Pub/Sub au compte de service suivant :
chat-api-push@system.gserviceaccount.com
Créez un compte de service pour que l'application Chat puisse l'autoriser avec Pub/Sub et Chat, puis enregistrez le fichier de clé privée dans votre répertoire de travail.
Créez un abonnement pull au sujet.
Attribuez le rôle d'abonné Pub/Sub à l'abonnement pour le compte de service que vous avez créé précédemment.
Écrire le script
Java
Dans une CLI, fournissez les identifiants du compte de service:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
Dans une CLI, indiquez l'ID du projet Google Cloud:
export PROJECT_ID=PROJECT_ID
Dans une CLI, indiquez l'ID de l'abonnement Pub/Sub que vous avez créé précédemment :
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
Dans votre répertoire de travail, créez un fichier nommé
pom.xml
.Dans le fichier
pom.xml
, collez le code suivant :Dans votre répertoire de travail, créez la structure de répertoires
src/main/java
.Dans le répertoire
src/main/java
, créez un fichier nomméMain.java
.Dans
Main.java
, collez le code suivant :
Python
Dans une CLI, fournissez les identifiants du compte de service :
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
Dans une CLI, indiquez l'ID du projet Google Cloud:
export PROJECT_ID=PROJECT_ID
Dans une CLI, indiquez l'ID de l'abonnement Pub/Sub que vous avez créé précédemment :
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
Dans votre répertoire de travail, créez un fichier nommé
requirements.txt
.Dans le fichier
requirements.txt
, collez le code suivant :Dans votre répertoire de travail, créez un fichier nommé
app.py
.Dans
app.py
, collez le code suivant:
Node.js
Dans une CLI, fournissez les identifiants du compte de service :
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
Dans une CLI, indiquez l'ID du projet Google Cloud:
export PROJECT_ID=PROJECT_ID
Dans une CLI, indiquez l'ID de l'abonnement Pub/Sub que vous avez créé précédemment :
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
Dans votre répertoire de travail, créez un fichier nommé
package.json
.Dans le fichier
package.json
, collez le code suivant:Dans votre répertoire de travail, créez un fichier nommé
index.js
.Dans
index.js
, collez le code suivant :
Publier l'application dans Chat
Dans la console Google Cloud, accédez à Menu > API et Services > API activées et Services > API Google Chat > Configuration.
Configurez l'application Chat pour Pub/Sub :
- Dans Nom de l'application, saisissez
Quickstart App
. - Dans URL de l'avatar, saisissez
https://developers.google.com/chat/images/quickstart-app-avatar.png
. - Dans Description, saisissez
Quickstart app
. - Sous Fonctionnalité, sélectionnez Recevoir des messages privés et Rejoindre des espaces et des conversations de groupe.
- Sous Paramètres de connexion, sélectionnez Cloud Pub/Sub et collez le nom du sujet Pub/Sub que vous avez créé précédemment.
- Sous Visibilité, sélectionnez Rendre cette application Google Chat accessible à des personnes et des groupes spécifiques de votre domaine, puis saisissez votre adresse e-mail.
- Sous Journaux, sélectionnez Consigner les erreurs dans Logging.
- Dans Nom de l'application, saisissez
Cliquez sur Enregistrer.
L'application est prête à recevoir et à répondre aux messages dans Chat.
Exécuter le script
Dans une CLI, accédez à votre répertoire de travail et exécutez le script:
Java
mvn compile exec:java -Dexec.mainClass=Main
Python
python -m venv env
source env/bin/activate
pip install -r requirements.txt -U
python app.py
Node.js
npm install
npm start
Lorsque vous exécutez le code, l'application commence à écouter les messages publiés au sujet Pub/Sub.
Tester votre application Chat
Pour tester votre application Chat, ouvrez un espace de message privé avec l'application Chat et envoyez un message:
Ouvrez Google Chat avec le compte Google Workspace que vous avez fourni lorsque vous vous êtes ajouté en tant que testeur de confiance.
- Cliquez sur Nouveau chat.
- Dans le champ Ajouter une ou plusieurs personnes, saisissez le nom de votre Application Chat
Sélectionnez votre application Chat dans les résultats. Un direct message s'ouvre.
- Dans le nouveau message privé avec l'application, saisissez
Hello
et appuyez surenter
Pour ajouter des testeurs de confiance et en savoir plus sur le test des fonctionnalités interactives, consultez Testez les fonctionnalités interactives pour Applications Google Chat
Résoudre les problèmes
Lorsqu'une application ou une fiche Google Chat renvoie une erreur, l'interface Chat affiche le message "Un problème est survenu". ou "Impossible de traiter votre demande." Il arrive que l'interface utilisateur de Chat n'affiche aucun message d'erreur, mais que l'application ou la fiche Chat produise un résultat inattendu. Par exemple, un message de fiche peut ne pas s'afficher.
Même s'il est possible qu'aucun message d'erreur ne s'affiche dans l'interface utilisateur de Chat, Des messages d'erreur descriptifs et des données de journaux sont disponibles pour vous aider à corriger les erreurs. Lorsque la journalisation des erreurs est activée pour les applications Chat. Pour savoir comment afficher, déboguer et corriger les erreurs, consultez Résoudre et corriger les erreurs Google Chat.
Effectuer un nettoyage
Afin d'éviter que des frais ne soient facturés sur votre compte Google Cloud pour utilisées dans ce tutoriel, nous vous recommandons de supprimer Google Cloud.
-
Dans la console Google Cloud, accédez à la page Gérer les ressources. Cliquez sur Menu > IAM et administration > Gérer les ressources.
<ph type="x-smartling-placeholder"></ph> Accéder au gestionnaire de ressources
- Dans la liste des projets, sélectionnez celui que vous souhaitez supprimer, puis cliquez sur Supprimez .
- Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour le supprimer. le projet.
Articles associés
Pour ajouter d'autres fonctionnalités à votre application Chat, consultez les ressources suivantes :