Conectar um app do Chat a outros serviços e ferramentas

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:

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:

  1. Apague o comando que foi mostrado ao usuário que iniciou.
  2. Converta a mensagem original para pública, tornando-a visível para outros membros do espaço.
  3. 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.