Creare un'app Google Chat protetta da un firewall con Pub/Sub (original) (raw)

Passa ai contenuti principali

Creare un'app Google Chat protetta da un firewall con Pub/Sub

Questa pagina spiega come creare un'app di Chat utilizzandoPub/Sub. Questo tipo di architettura per un'app di Chat è utile se la tua organizzazione ha un firewall, che può impedire a Chat di inviare messaggi alla tua app di Chat, o se l' app di Chat utilizza l'API Google Workspace Events. Tuttavia, questa architettura presenta le seguenti limitazioni dovute al fatto che queste app di Chat possono inviare e riceveresolo messaggi asincroni:

Il seguente diagramma mostra l'architettura di un'app di Chat creata con Pub/Sub:

Architettura di un'app di chat implementata con Pub/Sub.

Nel diagramma precedente, un utente che interagisce con un'app di Chat Pub/Sub ha il seguente flusso di informazioni:

  1. 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 unasottoscrizione attiva.
  2. Chat invia il messaggio a un argomento Pub/Sub.
  3. Un server delle applicazioni, ovvero un sistema cloud o on-premise che contiene la logica dell'app di Chat, si abbona all'argomento Pub/Sub per ricevere il messaggio tramite il firewall.
  4. Se vuoi, l'app di Chat può chiamare l'API Chat per pubblicare messaggi in modo asincrono o eseguire altre operazioni.

Prerequisiti

Quando crei l'app di Chat, devi deselezionare Crea questa app di Chat come componente aggiuntivo di Google Workspace nella pagina di configurazione dell'API Chat nella console Google Cloud. ConsultaPubblicare l'app su Google Chat.

Node.js

Python

Java

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.

Configurare Pub/Sub

  1. Crea un argomento Pub/Suba cui l'API Chat può inviare messaggi. Ti consigliamo di utilizzare un singolo argomento per ogni app di Chat.
  2. Concedi a Chat l'autorizzazione a pubblicarenell'argomento assegnando il ruolo Publisher Pub/Sub al seguente account di servizio:
chat-api-push@system.gserviceaccount.com  
  1. Crea un account di servizioper l'app di Chat per l'autorizzazione con Pub/Sub e Chat e salva il file della chiave privata nella directory di lavoro.
  2. Crea una sottoscrizione pullper l'argomento.
  3. Assegna il ruolo Sottoscrittore Pub/Sub alla sottoscrizioneper l'account di servizio che hai creato in precedenza.

Scrivere lo script

Node.js

  1. In un'interfaccia a riga di comando, fornisci le credenziali dell'account di servizio:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH  
  1. In un'interfaccia a riga di comando, fornisci l'ID progetto Google Cloud:
export PROJECT_ID=PROJECT_ID  
  1. In un'interfaccia a riga di comando, fornisci l'ID sottoscrizione per la sottoscrizione Pub/Sub che hai creato in precedenza:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID  
  1. Nella directory di lavoro, crea un file denominato package.json.
  2. Nel file package.json, incolla il seguente codice:
  3. Nella directory di lavoro, crea un file denominato index.js.
  4. In index.js, incolla il seguente codice:

Python

  1. In un'interfaccia a riga di comando, fornisci le credenziali dell'account di servizio:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH  
  1. In un'interfaccia a riga di comando, fornisci l'ID progetto Google Cloud:
export PROJECT_ID=PROJECT_ID  
  1. In un'interfaccia a riga di comando, fornisci l'ID sottoscrizione per la sottoscrizione Pub/Sub che hai creato in precedenza:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID  
  1. Nella directory di lavoro, crea un file denominato requirements.txt.
  2. Nel file requirements.txt, incolla il seguente codice:
  3. Nella directory di lavoro, crea un file denominato app.py.
  4. In app.py, incolla il seguente codice:

Java

  1. In un'interfaccia a riga di comando, fornisci le credenziali dell'account di servizio:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH  
  1. In un'interfaccia a riga di comando, fornisci l'ID progetto Google Cloud:
export PROJECT_ID=PROJECT_ID  
  1. In un'interfaccia a riga di comando, fornisci l'ID sottoscrizione per la sottoscrizione Pub/Sub che hai creato in precedenza:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID  
  1. Nella directory di lavoro, crea un file denominato pom.xml.
  2. Nel file pom.xml, incolla il seguente codice:
  3. Nella directory di lavoro, crea la struttura di directory src/main/java.
  4. Nella directory src/main/java, crea un file denominato Main.java.
  5. In Main.java, incolla il seguente codice:

Pubblicare l'app su Chat

  1. Nella console Google Cloud, vai a Menu> API e servizi> API e servizi abilitati> API Google Chat> Configurazione.
    Vai alla configurazione
  2. Configura l'app di Chat per Pub/Sub:
    1. Deseleziona Crea questa app di Chat come componente aggiuntivo di Google Workspace. Viene visualizzata una finestra di dialogo che ti chiede di confermare. Nella finestra di dialogo, fai clic su Disattiva.
    2. In Nome app, inserisci Quickstart App.
    3. In URL avatar, inserisci https://developers.google.com/chat/images/quickstart-app-avatar.png.
    4. In Descrizione, inserisci Quickstart app.
    5. In Funzionalità, seleziona Partecipa a spazi e conversazioni di gruppo.
    6. In Impostazioni di connessione, seleziona Cloud Pub/Sub e incolla il nome dell'argomento Pub/Sub che hai creato in precedenza.
    7. In Visibilità, seleziona Rendi disponibile questa app Google Chat a utenti e gruppi specifici nel tuo dominio e inserisci il tuo indirizzo email.
    8. In Log, seleziona Registra gli errori in Logging.
  3. Fai clic su Salva.

L'app è pronta per ricevere e rispondere ai messaggi su Chat.

Eseguire lo script

In un'interfaccia a riga di comando, passa alla directory di lavoro ed esegui lo script:

Node.js

npm install
npm start

Python

python -m venv env
source env/bin/activate
pip install -r requirements.txt -U
python app.py

Java

mvn compile exec:java -Dexec.mainClass=Main

Quando esegui il codice, l'applicazione inizia ad ascoltare i messaggi pubblicati nell'argomento Pub/Sub.

Testare l'app di Chat

Per testare l'app di Chat, apri uno spazio di messaggi diretti con l'app di Chat e invia un messaggio:

  1. Apri Google Chat utilizzando l'account Google Workspace che hai fornito quando ti sei aggiunto come tester di fiducia.
    Vai a Google Chat
  2. Fai clic su Nuova chat.
  3. Nel campo Aggiungi una o più persone, digita il nome della tua app di Chat.
  4. Seleziona la tua app di Chat dai risultati. Si apre un messaggio diretto.
  5. Nel nuovo messaggio diretto con l'app, digita Hello e premienter.

Per aggiungere tester di fiducia e scoprire di più sui test delle funzionalità interattive, consultaTestare le funzionalità interattive per le app Google Chat.

Risoluzione dei problemi

Quando un'app o unascheda di Google Chat restituisce un errore, l' interfaccia di Chat mostra un messaggio che indica "Si è verificato un problema". o "Impossibile elaborare la richiesta". A volte l'interfaccia utente di Chat non mostra alcun messaggio di errore, ma l'app o la scheda di Chat produce un risultato imprevisto; ad esempio, un messaggio con scheda potrebbe non essere visualizzato.

Anche se nell'interfaccia utente di Chat potrebbe non essere visualizzato un messaggio di errore, sono disponibili messaggi di errore descrittivi e dati di log per aiutarti a correggere gli errori quando la registrazione degli errori per le app di Chat è attiva. Per assistenza nella visualizzazione, nel debug e nella correzione degli errori, consultaRisolvere e correggere gli errori di Google Chat.

Liberare spazio

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, ti consigliamo di eliminare il progetto Cloud.

  1. Nella console Google Cloud, vai alla pagina Gestisci risorse. Fai clic suMenu > IAM e amministrazione > Gestisci risorse.
    Vai a Resource Manager
  2. Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic suElimina .
  3. Nella finestra di dialogo, digita l'ID progetto, quindi fai clic su Chiudi per eliminare il progetto.

Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.

Ultimo aggiornamento 2026-04-01 UTC.