Esta página descreve como conectar um app do Google Chat a um serviço ou ferramenta fora do Google Chat. Enquanto os apps de chat estiverem eficientes por conta própria, muitas vezes trabalham em conjunto com outros sistemas e exigem aplicativos complementares para conectar contas, autorizar o acesso a dados, dados adicionais ou configurar as preferências do usuário.
Pré-requisitos
Um app do Google Chat com recursos interativos ativados. Para criar um interativo do Chat, conclua um dos seguintes guias de início rápido com base na arquitetura do app que você quer usar:- Serviço HTTP com o Google Cloud Functions
- Google Apps Script
- Dialogflow CX do Google Cloud
- Google Cloud Pub/Sub
Solicitar a configuração do app do Chat de um usuário
Se a conclusão de uma solicitação exigir configurações adicionais que não podem ser concluída diretamente no app do Chat, retorna uma URL de configuração ao usuário como parte de uma resposta normal ou apresentá-la de forma privada, na seguinte forma:
{ "actionResponse": { "type": "REQUEST_CONFIG", "url": "CONFIGURATION_URL" } }
Isso informa ao Google Chat para apresentar ao usuário um comando particular, em que
CONFIGURATION_URL
é um link
que o usuário pode acessar para fazer autenticação, autorização ou
configuração do Terraform. Uma resposta REQUEST_CONFIG
é mutuamente exclusiva com uma resposta
mensagem de resposta automática. Textos, cards ou outros atributos são ignorados.
Preencher a solicitação de configuração
Todas
Evento de interação MESSAGE
recebida pelo app do Chat também inclui o campo
configCompleteRedirectUrl
. Você deve codificar esse URL em seu
URL de configuração a ser usado na conclusão do processo. Redirecionando para esta
O URL indica ao Google Chat que a solicitação de configuração foi atendida.
Quando o app do Chat é iniciado, o fluxo depende das
mensagem específica recebida. Em resposta a uma mensagem como @app help
, um
O app do Chat deve responder com uma mensagem sem
e precisar de mais configurações.
Quando um usuário é redirecionado para configCompleteRedirectUrl
fornecido na mensagem original, o Google Chat seguirá estas etapas:
- Apague o comando que foi mostrado ao usuário que iniciou.
- Converta a mensagem original para pública, tornando-a visível para outros membros do espaço.
- Enviar a mensagem original para o mesmo app do Chat pela segunda vez.
Acessar um configCompleteRedirectUrl
afeta apenas uma única mensagem do usuário.
Se um usuário tentar enviar mensagens para um app do Chat várias vezes
e, como resultado, recebi várias solicitações, clicando em uma
e a conclusão do processo de autenticação e configuração só afeta
essa mensagem específica. As outras mensagens não são alteradas.
Quando um evento de interação MESSAGE
é reenviado dessa forma, ele precisa ser idêntico
ao evento original. No entanto, há algumas situações em que MESSAGE
eventos de interação podem variar. Por exemplo, quando uma mensagem menciona tanto
App Chat A e App Chat B,
o usuário poderá editar a mensagem se o app do Chat A
responde com uma mensagem normal antes da autenticação com
App de chat B. Nesse caso,
O app de chat B recebe o texto da mensagem editada após a
o usuário conclui a autenticação e a configuração.
Autenticar o usuário do Chat fora dele
Em alguns casos, como na solicitação de autorização do OAuth para uma API, o aplicativo precisa para vincular um URL fora do Chat sem abrir mão do nome do usuário identidade. A melhor forma de identificar o usuário nesses casos é proteger o app de destino usando o Login do Google.
Use o
token de identidade
emitido durante o login para conseguir o ID do usuário. A declaração sub
contém a string
ID exclusivo e podem ser correlacionados ao ID do usuário do Google Chat.
Embora os dois IDs não sejam exatamente idênticos, eles podem ser forçados. Para
força o valor da declaração sub
a um users/{user}
do Google Chat, antes do início
o valor com users/
. Por exemplo, o valor da declaração de 123
é equivalente
como nome de usuário users/123
nas mensagens para sua
App Chat.
Temas relacionados
- Receber e responder à interação do usuário
- O exemplo do app MyProfile usa o token de identidade da resposta do Login do Google para identificar a usuário.