Nesta página, descrevemos como conectar um app do Google Chat a um serviço ou ferramenta fora do Google Chat. Embora os apps de chat sejam poderosos por si só, eles geralmente funcionam em conjunto com outros sistemas e exigem aplicativos complementares para conectar contas, autorizar o acesso a dados, mostrar informações adicionais ou configurar preferências do usuário.
Pré-requisitos
Um app do Google Chat configurado para receber e responder a eventos de interação. Para criar um app 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
- Google Cloud Dialogflow CX
- Google Cloud Pub/Sub
Solicitar a configuração do app Chat de um usuário
Se a conclusão de uma solicitação exigir uma configuração adicional que não possa ser feita diretamente no app Chat, retorne um URL de configuração ao usuário como parte de uma resposta normal ou apresente-o de forma privada, da seguinte maneira:
{ "actionResponse": { "type": "REQUEST_CONFIG", "url": "CONFIGURATION_URL" } }
Isso instrui o Google Chat a apresentar ao usuário uma solicitação particular, em que
CONFIGURATION_URL
é um link
para o usuário acessar e fazer autenticação, autorização ou
configuração adicionais. Uma resposta REQUEST_CONFIG
é mutuamente exclusiva com uma mensagem de resposta regular. Qualquer texto, card ou outro atributo é ignorado.
Concluir a solicitação de configuração
Todo
evento de interação MESSAGE
, ADDED_TO_SPACE
e APP_COMMAND
que seu app do Chat recebe também inclui o campo
configCompleteRedirectUrl
. Você precisa codificar esse URL no seu
URL de configuração para ser usado na conclusão do processo. O redirecionamento para esse
URL indica ao Google Chat que a solicitação de configuração foi atendida.
Quando o app Chat é iniciado, o fluxo depende da mensagem específica recebida. Em resposta a uma mensagem como @app help
, um
app de chat deve responder com uma mensagem sem
exigir configuração adicional.
Quando um usuário é redirecionado para o configCompleteRedirectUrl
fornecido na mensagem original, o Google Chat realiza as seguintes etapas:
- Apaga o comando que foi mostrado ao usuário iniciador.
- Converter a mensagem original em pública, tornando-a visível para outros membros do espaço.
- Envie a mensagem original para o mesmo app Chat uma segunda vez.
A visita a um configCompleteRedirectUrl
afeta apenas uma mensagem do usuário.
Se um usuário tentou enviar mensagens para um app de chat várias
vezes e, como resultado, recebeu várias solicitações, clicar em uma
solicitação específica e concluir o processo de autenticação e configuração afeta apenas
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 os eventos de interação MESSAGE
podem ser diferentes. Por exemplo, quando uma mensagem menciona o
app de chat A e o app de chat B,
o usuário pode editar a mensagem se o app de chat A
responder com uma mensagem normal antes de fazer a autenticação com o
app de chat B. Nesse caso, o app de chat B recebe o texto da mensagem editada depois que o usuário conclui a autenticação e a configuração.
Autenticar o usuário do Chat fora do Chat
Em alguns casos, como ao solicitar autorização do OAuth para uma API, seu app precisa vincular um URL fora do Chat, mantendo a identidade do usuário. A melhor maneira de identificar o usuário nesses casos é proteger o app de destino com o login do Google.
Use o token de identidade emitido durante o login para receber o ID do usuário. A declaração sub
contém o ID exclusivo do usuário e pode ser correlacionada com o ID do usuário do Google Chat.
Embora os dois IDs não sejam exatamente idênticos, eles podem ser forçados. Para
converter o valor da declaração sub
em um users/{user}
do Google Chat, adicione
o prefixo users/
ao valor. Por exemplo, o valor da declaração 123
é equivalente ao nome de usuário users/123
em mensagens para seu app de chat.
Temas relacionados
- Receber e responder à interação do usuário
- O exemplo do app MyProfile usa o token de identidade da resposta do Google Sign-in para identificar o usuário.