In questa pagina viene spiegato come creare un'app di Chat utilizzando Pub/Sub Questo tipo di architettura per un'app di Chat è utile se la tua organizzazione dispone di un firewall che può impedire a Chat di inviare messaggi all'app o se l'app di Chat utilizza l'API Events di Google Workspace. Tuttavia, questo di architettura presenta le seguenti limitazioni dovute al fatto che questi Le app di chat possono solo inviare e ricevere messaggi asincroni:
- Impossibile utilizzare le finestre di dialogo nei messaggi. Utilizza invece un messaggio nella scheda.
- Impossibile aggiornare singole schede con una risposta sincrona. Aggiorna invece
l'intero messaggio chiamando il
patch
.
Il seguente diagramma mostra l'architettura di un App di chat creata con Pub/Sub:
Nel diagramma precedente, un utente che interagisce con un Pub/Sub L'app Chat prevede il seguente flusso di informazioni:
Un utente invia un messaggio in Chat a un'app di Chat, in un messaggio diretto o in uno spazio di Chat oppure si verifica un evento in uno spazio di Chat per il quale l'app di Chat ha un'iscrizione attiva.
Chat invia il messaggio a un argomento Pub/Sub.
Un server di applicazioni, ovvero un sistema cloud o on-premise che che contiene la logica dell'app Chat, si abbona nell'argomento Pub/Sub per ricevere il messaggio attraverso il firewall.
Facoltativamente, l'app Chat può chiamare API Chat per pubblicare messaggi in modo asincrono o eseguire operazioni aziendali.
Prerequisiti
Java
- Un'azienda o un'impresa Google Workspace con accesso a Google Chat.
- Un progetto Google Cloud con la fatturazione abilitata. Per verificare che la fatturazione sia abilitata per un progetto esistente, consulta Verificare il dello stato di fatturazione dei tuoi progetti. Per creare un progetto e configurare la fatturazione, consulta Creare un progetto Google Cloud.
- Java 11 o versioni successive
- Lo strumento di gestione dei pacchetti Maven
Python
- Un'azienda o un'impresa Google Workspace con accesso a Google Chat.
- Un progetto Google Cloud con fatturazione abilitata. Per verificare che la fatturazione sia attivata per un progetto esistente, consulta Verificare lo stato di fatturazione dei progetti. Per creare un progetto e configurare la fatturazione, consulta Creare un progetto Google Cloud.
- Python 3.6 o versioni successive
- Lo strumento di gestione dei pacchetti pip
Node.js
- Un'azienda o un'impresa Google Workspace con accesso a Google Chat.
- Un progetto Google Cloud con fatturazione abilitata. Per verificare che la fatturazione sia abilitata per un progetto esistente, consulta Verificare il dello stato di fatturazione dei tuoi progetti. Per creare un progetto e configurare la fatturazione, consulta Creare un progetto Google Cloud.
- Node.js 14 o versioni successive
- npm strumento di gestione dei pacchetti
-
Un progetto Node.js inizializzato. Per inizializzare un nuovo progetto, crea e
passa a una nuova cartella, quindi esegui il seguente comando nell'interfaccia a riga di comando:
npm init
Configurare l'ambiente
Prima di utilizzare le API Google, devi attivarle in un progetto Google Cloud. Puoi attivare una o più API in un singolo progetto Google Cloud.Nella console Google Cloud, abilita l'API Google Chat e l'API Pub/Sub.
configura Pub/Sub
Crea un argomento Pub/Sub a cui l'API Chat può inviare messaggi. Ti consigliamo di utilizzare un singolo argomento per app Chat.
Concedi a Chat l'autorizzazione a pubblicare all'argomento assegnando il ruolo Publisher Pub/Sub a quanto segue account di servizio:
chat-api-push@system.gserviceaccount.com
Crea un account di servizio che l'app di Chat deve autorizzare con Pub/Sub e Chatta e salva il file della chiave privata nella tua directory di lavoro.
Crea una sottoscrizione pull all'argomento.
Assegna il ruolo di abbonato Pub/Sub nella sottoscrizione per l'account di servizio che hai creato in precedenza.
Scrivere lo script
Java
In una CLI, fornisci le credenziali dell'account di servizio:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
In una CLI, fornisci l'ID progetto Google Cloud:
export PROJECT_ID=PROJECT_ID
In un'interfaccia a riga di comando, fornisci l'ID abbonamento per l'abbonamento Pub/Sub che hai creato in precedenza:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
Nella directory di lavoro, crea un file denominato
pom.xml
.Nel file
pom.xml
, incolla il seguente codice:Nella tua directory di lavoro, crea la struttura di directory
src/main/java
.Nella directory
src/main/java
, crea un file denominatoMain.java
.Incolla il codice seguente in
Main.java
:
Python
In un'interfaccia a riga di comando, fornisci le credenziali dell'account di servizio:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
In una CLI, fornisci l'ID progetto Google Cloud:
export PROJECT_ID=PROJECT_ID
In un'interfaccia a riga di comando, fornisci l'ID abbonamento per l'abbonamento Pub/Sub che hai creato in precedenza:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
Nella directory di lavoro, crea un file denominato
requirements.txt
.Nel file
requirements.txt
, incolla il seguente codice:Nella directory di lavoro, crea un file denominato
app.py
.Incolla il codice seguente in
app.py
:
Node.js
In un'interfaccia a riga di comando, fornisci le credenziali dell'account di servizio:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
In una CLI, fornisci l'ID progetto Google Cloud:
export PROJECT_ID=PROJECT_ID
In un'interfaccia a riga di comando, fornisci l'ID per la sottoscrizione Pub/Sub che creato in precedenza:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
Nella directory di lavoro, crea un file denominato
package.json
.Nel file
package.json
, incolla il seguente codice:Nella directory di lavoro, crea un file denominato
index.js
.Incolla il codice seguente in
index.js
:
Pubblica l'app in Chat
Nella console Google Cloud, vai a Menu > API e Servizi > API abilitate e Servizi > API Google Chat > Configurazione.
Configura l'app Chat per Pub/Sub:
- In Nome dell'app, inserisci
Quickstart App
. - In URL avatar, inserisci
https://developers.google.com/chat/images/quickstart-app-avatar.png
. - In Descrizione, inserisci
Quickstart app
. - In Funzionalità, seleziona Ricevi messaggi 1:1 e Partecipa a spazi e conversazioni di gruppo.
- In Impostazioni connessione, seleziona Cloud Pub/Sub e incolla il nome dell'argomento Pub/Sub che hai creato in precedenza.
- In Visibilità, seleziona Rendi disponibile questa app Google Chat a utenti e gruppi specifici nel tuo dominio e inserisci il tuo indirizzo email.
- In Log, seleziona Log errori in Logging.
- In Nome dell'app, inserisci
Fai clic su Salva.
L'app è pronta per ricevere e rispondere ai messaggi su Chat.
Esegui lo script
In un'interfaccia a riga di comando, passa alla directory di lavoro ed esegui lo 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
Quando esegui il codice, l'applicazione inizia ad ascoltare i messaggi pubblicati nell'argomento Pub/Sub.
Testare l'app Chat
Per testare l'app Chat, apri uno spazio di messaggi diretti con l'app Chat e invia un messaggio:
Apri Google Chat utilizzando l'account Google Workspace fornito quando hai aggiunto te stesso come tester attendibile.
- Fai clic su Nuova chat.
- Nel campo Aggiungi una o più persone, digita il nome del tuo App Chat.
Seleziona l'app Chat dai risultati. Un annuncio diretto si apre il messaggio.
- Nel nuovo messaggio diretto con l'app, digita
Hello
e premienter
.
Per aggiungere Trusted Tester e scoprire di più sul test delle funzionalità interattive, consulta Testare le funzionalità interattive per le app Google Chat.
Risoluzione dei problemi
Quando un'app o una scheda di Google Chat restituisce un errore, l'interfaccia di Chat mostra il messaggio "Si è verificato un problema". o "Impossibile elaborare la richiesta". A volte, l'UI di Chat non mostra alcun messaggio di errore, ma l'app Chat o la scheda restituisce un risultato inaspettato; Ad esempio, il messaggio di una scheda potrebbe non vengono visualizzate.
Anche se un messaggio di errore potrebbe non essere visualizzato nella UI di Chat, messaggi di errore descrittivi e dati di log che ti aiuteranno a correggere gli errori quando il logging degli errori per le app di chat è attivo. Per assistenza con la visualizzazione, il debug e la correzione degli errori, consulta Risolvere i problemi e correggere gli errori di Google Chat.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alla utilizzate in questo tutorial, ti consigliamo di eliminare progetto cloud.
- Nella console Google Cloud, vai alla pagina Gestisci risorse. Fai clic su Menu > IAM e amministrazione > Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare e fai clic su Elimina .
- Nella finestra di dialogo, digita l'ID progetto e fai clic su Chiudi per eliminare il progetto.
Argomenti correlati
Per aggiungere altre funzionalità all'app Chat, vedi le seguenti: