Nesta página, descrevemos como conectar um app do Google Chat a um serviço ou ferramenta que está fora do Google Chat. Embora os apps de chat sejam poderosos por si só, eles geralmente funcionam em conjunto com outros sistemas e exigem que aplicativos complementares conectem contas, autorizem o acesso a dados, exibam outros dados ou configurem preferências do usuário.
Solicitar a configuração do app do Chat de um usuário
Se para concluir uma solicitação uma configuração adicional que não pode ser feita diretamente no app do Chat for necessária, retorne um URL de configuração ao usuário como parte de uma resposta normal ou apresente-o de maneira particular, no seguinte formato:
{ "actionResponse": { "type": "REQUEST_CONFIG", "url": "CONFIGURATION_URL" } }
Isso diz ao Google Chat para apresentar ao usuário um prompt particular, em que
CONFIGURATION_URL
é um link
para o usuário acessar para realizar outras ações de autenticação, autorização ou
configuração. Uma resposta REQUEST_CONFIG
é mutuamente exclusiva com uma mensagem
de resposta normal. Textos, cards ou outros atributos são ignorados.
Concluir a solicitação de configuração
Cada
evento de interação MESSAGE
que seu app do Chat recebe também inclui um
parâmetro configCompleteRedirectUrl
. Esse URL precisa ser codificado no URL de configuração para ser usado na conclusão do processo. O redirecionamento para este
URL indica ao Google Chat que a solicitação de configuração foi atendida.
Quando seu app do Chat é iniciado, o fluxo depende da
mensagem específica recebida. Em resposta a uma mensagem como @app help
, um
app do Chat precisa responder com uma mensagem sem
exigir configuração adicional.
Quando um usuário é redirecionado para o configCompleteRedirectUrl
fornecido na mensagem original, o Google Chat executa as seguintes etapas:
- Apaga a solicitação que foi exibida para o usuário iniciante.
- Converte a mensagem original em pública, deixando-a visível para outros participantes do espaço.
- Envie a mensagem original para o mesmo app do Chat uma segunda vez.
Acessar um configCompleteRedirectUrl
afeta apenas uma mensagem do usuário.
Se um usuário tentar enviar mensagens para um app do Chat várias
vezes e, como resultado, receber várias solicitações, clicar em uma solicitação
específica e concluir o processo de autenticação e configuração só afetará
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
os apps do Chat A e B do Chat,
o usuário pode editar a mensagem se o app do Chat A
responder com uma mensagem normal antes de autenticar com o
app B do Chat. Nesse caso,
o app do 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 dele
Em alguns casos, como para solicitar a autorização OAuth para uma API, seu app precisa ser vinculado a 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
forçar o valor da declaração sub
para um users/{user}
do Google Chat, inclua
users/
no início do valor. Por exemplo, o valor de declaração de 123
é equivalente
ao nome de usuário users/123
nas mensagens para o
app do Chat.
Temas relacionados
- O exemplo de app MyProfile usa o token de identidade da resposta do Login do Google para identificar o usuário.