In questa pagina viene spiegato come creare un'app di Chat utilizzando Pub/Sub Questo tipo di per un'app di Chat è utile se la tua organizzazione dispone di un firewall, che può impedire a Chat l'invio di messaggi all'app Chat o se L'app Chat utilizza API Google Workspace Events. 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 spazio di Chat o si verifica un evento in uno spazio di Chat per il quale l'app Chat è attiva abbonamento.
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 l'API Chat per pubblicare messaggi in modo asincrono o eseguire operazioni.
Prerequisiti
Java
- 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.
- 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 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.
- 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 comando seguente nell'interfaccia a riga di comando:
npm init
Configurare l'ambiente
Prima di utilizzare le API di 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 di 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 creato in precedenza.
Scrivi lo script
Java
In un'interfaccia a riga di comando, fornisci le credenziali dell'account di servizio:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
In un'interfaccia a riga di comando, 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
pom.xml
.Nel file
pom.xml
, incolla il seguente codice:Nella directory di lavoro, crea la struttura della 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 un'interfaccia a riga di comando, 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
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 un'interfaccia a riga di comando, 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.
Configurare l'app Chat per Pub/Sub:
- In Nome 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 di connessione, seleziona Cloud Pub/Sub e incolla il dell'argomento Pub/Sub creato in precedenza.
- In Visibilità, seleziona Rendi disponibile questa app Google Chat a persone e gruppi specifici nel tuo dominio e inserisci il tuo indirizzo email.
- In Log, seleziona Log errori in Logging.
- In Nome app, inserisci
Fai clic su Salva.
L'app è pronta per ricevere messaggi e rispondere 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 all'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 usando l'account Google Workspace che hai indicato quando ti sei aggiunto come trusted tester.
- Fai clic su Nuova chat.
- Nel campo Aggiungi una o più persone, digita il nome del tuo App Chat.
Seleziona la tua 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ù sui test delle funzionalità interattive, vedi Testa le funzionalità interattive per App Google Chat.
Risoluzione dei problemi
Quando un'app Google Chat o card 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. Clic Menu > IAM e Amministratore > 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 eliminarlo. del progetto.
Argomenti correlati
Per aggiungere altre funzionalità all'app Chat, vedi le seguenti: