이 페이지에서는 Google Chat 앱을 Google Chat 외부의 서비스 또는 도구와 연결하는 방법을 설명합니다. Chat 앱은 그 자체로도 강력하지만 다른 시스템과 함께 작동하는 경우가 많으며 계정을 연결하거나 데이터 액세스를 승인하거나 추가 데이터를 표시하거나 사용자 환경설정을 구성하기 위한 호환 애플리케이션이 필요합니다.
사용자에게 채팅 앱 구성 요청하기
요청을 완료하기 위해 채팅 앱에서 직접 완료할 수 없는 추가 구성이 필요한 경우 일반 응답의 일부로 사용자에게 구성 URL을 반환하거나 다음 형식으로 비공개로 제공합니다.
{ "actionResponse": { "type": "REQUEST_CONFIG", "url": "CONFIGURATION_URL" } }
이렇게 하면 Google Chat에서 사용자에게 비공개 메시지를 표시하도록 지시합니다. 여기서 CONFIGURATION_URL
은 사용자가 추가 인증, 승인 또는 구성을 위해 방문할 수 있는 링크입니다. REQUEST_CONFIG
응답은 일반 응답 메시지와 상호 배타적입니다. 텍스트, 카드 또는 기타 속성은 무시됩니다.
구성 요청 완료
채팅 앱이 수신하는 모든 MESSAGE
상호작용 이벤트에는 configCompleteRedirectUrl
매개변수도 포함됩니다. 이 URL은 프로세스 완료 시 사용할 수 있도록 구성 URL에 인코딩되어야 합니다. 이 URL로 리디렉션하면 Google Chat에 구성 요청이 처리되었음을 알립니다.
채팅 앱이 시작되면 수신된 특정 메시지에 따라 흐름이 달라집니다. 채팅 앱은 @app help
와 같은 메시지에 응답하여 추가 구성 없이 메시지로 응답해야 합니다.
사용자가 원본 메시지에 제공된 configCompleteRedirectUrl
로 성공적으로 리디렉션되면 Google Chat은 다음 단계를 수행합니다.
- 시작하는 사용자에게 표시되었던 메시지를 삭제합니다.
- 원본 메시지를 공개로 변환하여 스페이스의 다른 참여자에게 표시합니다.
- 원본 메시지를 동일한 채팅 앱에 두 번째로 보냅니다.
configCompleteRedirectUrl
방문은 단일 사용자 메시지에만 영향을 미칩니다.
사용자가 채팅 앱에 여러 번 메시지를 보내려고 하여 메시지가 여러 개 수신된 경우, 특정 프롬프트를 클릭하고 인증 및 구성 프로세스를 완료하면 해당 특정 메시지에만 영향을 줍니다. 다른 메시지는 변경되지 않습니다.
MESSAGE
상호작용 이벤트가 이러한 방식으로 재전송되면 원래 이벤트와 동일해야 하지만 MESSAGE
상호작용 이벤트가 다를 수 있는 경우도 있습니다. 예를 들어 메시지에서 채팅 앱 A와 채팅 앱 B가 모두 언급되는 경우 채팅 앱 A가 채팅 앱 B로 인증하기 전에 일반 메시지로 응답하면 사용자는 메시지를 수정할 수 있습니다. 이 경우 채팅 앱 B는 사용자가 인증과 구성을 완료한 후 수정된 메시지 텍스트를 수신합니다.
Chat 외부에서 Chat 사용자 인증하기
경우에 따라(예: API에 대한 OAuth 승인 요청) 앱은 사용자 ID를 유지하면서 Chat 외부의 URL에 연결해야 합니다. 이 경우 사용자를 식별하는 가장 좋은 방법은 대상 앱을 Google 로그인으로 보호하는 것입니다.
로그인 시 발급된 ID 토큰을 사용하여 사용자 ID를 가져옵니다. sub
클레임은 사용자의 고유 ID를 포함하며 Google Chat의 사용자 ID와 연결할 수 있습니다.
두 ID가 완전히 동일하지는 않지만 강요될 수는 있습니다. sub
클레임의 값을 Google Chat users/{user}
으로 강제 변환하려면 값 앞에 users/
를 붙입니다. 예를 들어 123
의 클레임 값은 채팅 앱에 보내는 메시지의 사용자 이름 users/123
와 같습니다.
관련 주제
- MyProfile 앱 예시는 Google 로그인 응답의 ID 토큰을 사용하여 사용자를 식별합니다.