Esta página explica como criar um app do Chat usando Pub/Sub: Esse tipo de arquitetura de um app do Chat é útil caso sua organização tenha um firewall, que pode impedir que o Chat enviar mensagens para seu app do Chat ou se O app do Chat usa o API Google Workspace Events. No entanto, tem as seguintes limitações devido ao fato de que essas Os apps de chat só podem enviar e receber mensagens assíncronas:
- Não é possível usar caixas de diálogo. nas mensagens. Em vez disso, use mensagem no cartão.
- Não é possível atualizar cards individuais com uma resposta síncrona. Em vez disso, atualize
toda a mensagem chamando
patch
.
O diagrama a seguir mostra a arquitetura App do Chat criado com o Pub/Sub:
No diagrama anterior, um usuário interagindo com um Pub/Sub O app do Chat tem o seguinte fluxo de informações:
Um usuário envia uma mensagem no Chat para App do Chat, seja em mensagem direta ou em uma Um evento ou espaço do Chat acontece em um espaço do Chat em que o app do Chat tem uma conta ativa assinatura.
O Chat envia a mensagem para um tópico do Pub/Sub.
Um servidor de aplicativos, ou seja, um sistema na nuvem ou no local que contém a lógica do app do Chat, assina o tópico do Pub/Sub para receber a mensagem pelo firewall.
Opcionalmente, o app do Chat pode chamar o método a API Chat para postar mensagens de forma assíncrona ou realizar outras as operações.
Pré-requisitos
Java
- Uma empresa Conta do Google Workspace com acesso a Google Chat.
- Ter um projeto do Google Cloud com o faturamento ativado. Para verificar se um projeto atual tem o faturamento ativado, consulte Verificar a status de faturamento dos seus projetos. Para criar um projeto e configurar o faturamento, consulte Crie um projeto do Google Cloud.
- Java 11 ou mais recente
- A ferramenta de gerenciamento de pacotes Maven
Python
- Uma empresa Conta do Google Workspace com acesso a Google Chat.
- Ter um projeto do Google Cloud com o faturamento ativado. Para verificar se um projeto atual tem o faturamento ativado, consulte Verificar a status de faturamento dos seus projetos. Para criar um projeto e configurar o faturamento, consulte Crie um projeto do Google Cloud.
- Python 3.6 ou superior
- a ferramenta de gerenciamento de pacotes PIP;
Node.js
- Uma empresa Conta do Google Workspace com acesso a Google Chat.
- Ter um projeto do Google Cloud com o faturamento ativado. Para verificar se um projeto atual tem o faturamento ativado, consulte Verificar a status de faturamento dos seus projetos. Para criar um projeto e configurar o faturamento, consulte Crie um projeto do Google Cloud.
- Node.js 14 ou mais recente
- O npm ferramenta de gerenciamento de pacotes
-
Um projeto Node.js inicializado. Para inicializar um novo projeto, crie e
mude para uma nova pasta e execute o seguinte comando em sua interface de linha de comando:
npm init
Configure o ambiente
Antes de usar as APIs do Google, você precisa ativá-las em um projeto do Google Cloud. É possível ativar uma ou mais APIs em um único projeto do Google Cloud.No console do Google Cloud, ative a API Google Chat e a API Pub/Sub.
Configurar o Pub/Sub
Crie um tópico do Pub/Sub para os quais a API Chat pode enviar mensagens. Recomendamos que você use um único tema por app do Chat.
Permitir que o Chat publique ao tópico atribuindo o papel Publicador do Pub/Sub aos seguintes conta de serviço:
chat-api-push@system.gserviceaccount.com
Criar uma conta de serviço para o app do Chat autorizar com o Pub/Sub e Converse e salve o arquivo da chave privada no diretório de trabalho.
Criar uma assinatura de pull ao tópico.
Atribua o Papel de assinante do Pub/Sub na assinatura para a conta de serviço que você criou anteriormente.
Escrever o script
Java
Em uma CLI, forneça credenciais da conta de serviço:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
Em uma CLI, forneça o ID do projeto do Google Cloud:
export PROJECT_ID=PROJECT_ID
Em uma CLI, forneça o ID da assinatura do Pub/Sub que criados anteriormente:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
No diretório de trabalho, crie um arquivo chamado
pom.xml
.No arquivo
pom.xml
, cole o seguinte código:No seu diretório de trabalho, crie a estrutura de diretórios
src/main/java
.No diretório
src/main/java
, crie um arquivo chamadoMain.java
.Em
Main.java
, cole o seguinte código:
Python
Em uma CLI, forneça credenciais da conta de serviço:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
Em uma CLI, forneça o ID do projeto do Google Cloud:
export PROJECT_ID=PROJECT_ID
Em uma CLI, forneça o ID da assinatura do Pub/Sub que criados anteriormente:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
No diretório de trabalho, crie um arquivo chamado
requirements.txt
.No arquivo
requirements.txt
, cole o seguinte código:No diretório de trabalho, crie um arquivo chamado
app.py
.Em
app.py
, cole o seguinte código:
Node.js
Em uma CLI, forneça credenciais da conta de serviço:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
Em uma CLI, forneça o ID do projeto do Google Cloud:
export PROJECT_ID=PROJECT_ID
Em uma CLI, forneça o ID da assinatura do Pub/Sub que criados anteriormente:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
No diretório de trabalho, crie um arquivo chamado
package.json
.No arquivo
package.json
, cole o seguinte código:No diretório de trabalho, crie um arquivo chamado
index.js
.Em
index.js
, cole o seguinte código:
Publique o app no Chat
No console do Google Cloud, acesse Menu > APIs e Serviços > APIs ativadas e Serviços > API Google Chat > Configuração.
Configure o app do Chat para o Pub/Sub:
- Em Nome do app, digite
Quickstart App
. - No URL do avatar, digite
https://developers.google.com/chat/images/quickstart-app-avatar.png
. - Em Descrição, digite
Quickstart app
. - Em Funcionalidade, selecione Receber mensagens 1:1 e Participar de espaços e conversas em grupo.
- Em Configurações de conexão, selecione Cloud Pub/Sub e cole o nome do tópico do Pub/Sub que você criou anteriormente.
- Em Visibilidade, selecione Disponibilizar este app do Google Chat para pessoas e grupos específicos no seu domínio e digite seu endereço de e-mail.
- Em Registros, selecione Registrar erros no Logging.
- Em Nome do app, digite
Clique em Salvar.
O app está pronto para receber e responder a mensagens no Chat.
Executar o script
Em uma CLI, alterne para o diretório de trabalho e execute o 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 você executa o código, o aplicativo começa a detectar as mensagens publicadas ao tópico do Pub/Sub.
Testar o app do Chat
Para testar o app do Chat, abra um espaço de mensagem direta com do app do Chat e enviar uma mensagem:
Abra o Google Chat usando a conta do Google Workspace que você fornecido quando você se adicionou como trusted tester.
- Clique em Nova conversa.
- No campo Adicionar uma ou mais pessoas, digite o nome da sua App Chat.
Selecione seu app do Chat nos resultados. Um direto a mensagem será aberta.
- Na nova mensagem direta com o app, digite
Hello
e pressioneenter
.
Para adicionar trusted testers e saber mais sobre como testar recursos interativos, consulte Teste os recursos interativos do Apps do Google Chat
Resolver problemas
Quando um app ou card retornar um erro, o A interface do chat mostra a mensagem "Algo deu errado". ou "Não foi possível processar sua solicitação". Às vezes, a interface do Chat não exibe nenhuma mensagem de erro, mas o app do Chat ou produz um resultado inesperado; por exemplo, uma mensagem de cartão pode não aparecer.
Embora uma mensagem de erro possa não aparecer na interface do Chat, mensagens de erro descritivas e dados de registro estão disponíveis para ajudar você a corrigir os erros quando a geração de registros de erros nos apps do Chat está ativada. Para receber ajuda com a visualização, depurar e corrigir erros, consulte Resolver problemas e corrigir erros do Google Chat.
Limpar
Para evitar cobranças na sua conta do Google Cloud pelo recursos usados neste tutorial, recomendamos que você exclua os do Google Cloud.
- No console do Google Cloud, acesse a página Gerenciar recursos. Clique em Cardápio > IAM e Administrador > Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
- Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo o projeto.
Temas relacionados
Para adicionar mais recursos ao app do Chat, consulte as seguintes: