이 페이지에서는 Google Chat 앱을 Google Chat 외부의 서비스 또는 도구에 연결하는 방법을 설명합니다. Chat 앱은 그 자체로 강력하지만 다른 시스템과 함께 작동하는 경우가 많으며 계정을 연결하거나, 데이터 액세스를 승인하거나, 추가 데이터를 표시하거나, 사용자 환경설정을 구성하려면 호환 애플리케이션이 필요합니다.
기본 요건
대화형 기능이 사용 설정된 Google Chat 앱 대화형 Chat 앱을 만들려면 사용하려는 앱 아키텍처에 따라 다음 빠른 시작 중 하나를 완료하세요.- Google Cloud Functions를 사용한 HTTP 서비스
- Google Apps Script
- Google Cloud Dialogflow CX
- Google Cloud Pub/Sub
사용자에게 Chat 앱 구성 요청
요청을 완료하는 데 Chat 앱에서 직접 완료할 수 없는 추가 구성이 필요한 경우 일반 답장의 일부로 구성 URL을 사용자에게 반환하거나 다음 양식으로 비공개로 표시합니다.
{ "actionResponse": { "type": "REQUEST_CONFIG", "url": "CONFIGURATION_URL" } }
이렇게 하면 Google Chat에서 사용자에게 비공개 메시지를 표시합니다. 여기서 CONFIGURATION_URL
는 사용자가 추가 인증, 승인 또는 구성을 위해 방문할 링크입니다. REQUEST_CONFIG
응답은 일반 응답 메시지와 상호 배타적입니다. 텍스트, 카드 또는 기타 속성은 무시됩니다.
구성 요청 완료
Chat 앱에서 수신하는 모든 MESSAGE
상호작용 이벤트에는 configCompleteRedirectUrl
필드도 포함됩니다. 프로세스가 완료될 때 사용하려면 구성 URL에서 이 URL을 인코딩해야 합니다. 이 URL로 리디렉션하면 Google Chat에 구성 요청이 처리되었음을 알립니다.
Chat 앱이 시작되면 흐름은 수신된 특정 메시지에 따라 달라집니다. Chat 앱은 @app help
와 같은 메시지에 대한 응답으로 추가 구성 없이 메시지로 응답해야 합니다.
사용자가 원본 메시지에 제공된 configCompleteRedirectUrl
로 리디렉션되면 Google Chat은 다음 단계를 실행합니다.
- 시작 사용자에게 표시된 프롬프트를 지웁니다.
- 원본 메시지를 공개로 전환하여 스페이스의 다른 참여자에게 표시합니다.
- 원본 메시지를 동일한 Chat 앱에 다시 보냅니다.
configCompleteRedirectUrl
를 방문하면 단일 사용자 메시지에만 영향을 미칩니다.
사용자가 Chat 앱에 메시지를 보내려고 여러 번 시도하여 여러 메시지가 표시된 경우 특정 메시지를 클릭하고 인증 및 구성 프로세스를 완료하면 해당 메시지에만 영향을 미칩니다. 다른 메시지는 변경되지 않습니다.
이 방법으로 MESSAGE
상호작용 이벤트가 다시 전송되면 원래 이벤트와 동일해야 합니다. 그러나 MESSAGE
상호작용 이벤트가 다를 수 있는 경우도 있습니다. 예를 들어 메시지에 Chat 앱 A와 Chat 앱 B가 모두 언급된 경우 Chat 앱 A가 Chat 앱 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
의 소유권 주장 값은 Chat 앱의 메시지에 있는 사용자 이름 users/123
과 같습니다.
관련 주제
- 사용자 상호작용 수신 및 응답
- MyProfile 앱 예시는 Google 로그인 응답의 ID 토큰을 사용하여 사용자를 식별합니다.