채팅 메시지를 보내면 해당 메시지를 반영하여 응답하는 Google Chat 앱을 만들어 보세요.
다음 다이어그램은 아키텍처와 메시지 패턴을 보여줍니다.
위 다이어그램에서 Apps Script Chat 앱과 상호작용하는 사용자는 다음과 같은 정보 흐름을 갖습니다.
- 사용자가 채팅 메시지 또는 Chat 스페이스를 통해 Chat 앱에 메시지를 보냅니다.
- Google Cloud에 있는 Apps Script에 구현된 Chat 앱 로직이 메시지를 수신하고 처리합니다.
- 원하는 경우 Chat 앱 로직을 Calendar 또는 Sheets와 같은 Google Workspace 서비스 또는 Google 지도 또는 YouTube와 같은 다른 Google 서비스와 통합할 수 있습니다.
- Chat 앱 로직은 Chat의 Chat 앱 서비스로 응답을 다시 전송합니다.
- 응답이 사용자에게 전송됩니다.
목표
- 환경을 설정합니다.
- 스크립트를 설정합니다.
- Chat 앱을 게시합니다.
- Chat 앱을 테스트합니다.
기본 요건
- Google Chat에 액세스할 수 있는 비즈니스 또는 엔터프라이즈 Google Workspace 계정
- Google Cloud 프로젝트 프로젝트를 만들려면 Google Cloud 프로젝트 만들기를 참고하세요.
환경 설정
Google Cloud 콘솔에서 Cloud 프로젝트 열기
아직 열려 있지 않으면 이 샘플에 사용할 Cloud 프로젝트를 엽니다.
- Google Cloud 콘솔에서 프로젝트 선택 페이지로 이동합니다.
- 사용할 Google Cloud 프로젝트를 선택합니다. 또는 프로젝트 만들기를 클릭하고 화면에 표시된 안내를 따릅니다. Google Cloud 프로젝트를 만드는 경우 프로젝트에 결제를 사용 설정해야 할 수 있습니다.
Chat API 사용 설정
Google API를 사용하려면 먼저 Google Cloud 프로젝트에서 사용 설정해야 합니다. 단일 Google Cloud 프로젝트에서 하나 이상의 API를 사용 설정할 수 있습니다.Google Cloud 콘솔에서 Google Chat API를 사용 설정합니다.
OAuth 동의 화면 구성
OAuth 2.0을 사용하는 모든 앱에는 동의 화면 구성이 필요합니다. 앱의 OAuth 동의 화면을 구성하면 사용자와 앱 검토자에게 표시되는 항목이 정의되고 나중에 게시할 수 있도록 앱이 등록됩니다.
- Google Cloud 콘솔에서 메뉴 > API 및 서비스 > OAuth 동의 화면으로 이동합니다.
- 사용자 유형에서 내부를 선택한 다음 만들기를 클릭합니다.
- 앱 등록 양식을 작성한 후 저장 및 계속을 클릭합니다.
지금은 범위 추가를 건너뛰고 저장하고 계속을 클릭해도 됩니다. 향후 Google Workspace 조직 외부에서 사용할 앱을 만들 때는 사용자 유형을 외부로 변경한 후 앱에 필요한 승인 범위를 추가해야 합니다.
- 앱 등록 요약을 검토합니다. 변경하려면 수정을 클릭합니다. 앱 등록이 올바른 것으로 보이면 대시보드로 돌아가기를 클릭합니다.
스크립트 설정
스크립트를 설정하려면 템플릿을 사용한 후 Apps Script에서 Cloud 프로젝트를 설정합니다.
템플릿에서 스크립트 만들기
- Apps Script 시작하기 페이지로 이동합니다.
- Chat 앱 템플릿을 클릭합니다. 이 템플릿을 보려면 아래로 스크롤해야 할 수 있습니다.
- 제목 없는 프로젝트를 클릭하고
Quickstart app
를 입력한 다음 이름 바꾸기를 클릭합니다.
Cloud 프로젝트 번호 복사
- Google Cloud 콘솔에서 메뉴 > IAM 및 관리자 > 설정으로 이동합니다.
- 프로젝트 번호 필드에서 값을 복사합니다.
Apps Script 프로젝트의 Cloud 프로젝트 설정
- Chat 앱 Apps Script 프로젝트에서 프로젝트 설정 을 클릭합니다.
- Google Cloud Platform(GCP) 프로젝트에서 프로젝트 변경을 클릭합니다.
- GCP 프로젝트 번호에 Google Cloud 프로젝트 번호를 붙여넣습니다.
- 프로젝트 설정을 클릭합니다.
이제 다음 단계에 설명된 대로 사용해 보고 요구사항에 맞게 맞춤설정할 수 있는 작동하는 앱 코드가 생성되었습니다.
Apps Script 템플릿을 열 때 올바른 Google 계정에 로그인되어 있는지 확인합니다. 사용자 모르게 현재 계정이 기본 계정으로 전환될 수도 있습니다.
테스트 배포 만들기
다음 단계에서 사용할 수 있도록 이 Apps Script 프로젝트의 배포 ID가 필요합니다.
헤드 배포 ID를 가져오려면 다음 단계를 따르세요.
- Chat 앱 Apps Script 프로젝트에서 배포 > 테스트 배포를 클릭합니다.
- 이후 단계에서 사용할 헤드 배포 ID를 복사하고 완료를 클릭합니다.
Chat 앱 게시
Google Cloud 콘솔에서 Chat 앱을 게시합니다.
- Google Cloud 콘솔에서
Google Chat API
를 검색하고 Google Chat API를 클릭합니다. - 관리를 클릭합니다.
구성을 클릭하고 Chat 앱을 설정합니다.
- 앱 이름 필드에
Quickstart app
을 입력합니다. - 아바타 URL 필드에
https://developers.google.com/chat/images/quickstart-app-avatar.png
를 입력합니다. - 설명 필드에
Quickstart app
을 입력합니다. - '기능'에서 1:1 메시지 수신 및 스페이스 및 그룹 대화 참여를 선택합니다.
- 연결 설정에서 Apps Script를 선택합니다.
- 배포 ID 입력란에 이전에 복사한 헤드 배포 ID를 붙여넣습니다.
- 공개 상태에서 내 도메인의 특정 사용자 및 그룹을 선택하고 이메일을 입력합니다.
- 앱 이름 필드에
저장을 클릭합니다.
Chat 앱이 메시지에 응답할 준비가 되었습니다.
채팅 앱 테스트
Chat 앱을 테스트하려면 Chat 앱으로 채팅 메시지 스페이스를 열고 메시지를 보냅니다.
신뢰할 수 있는 테스터로 추가할 때 제공한 Google Workspace 계정을 사용하여 Google Chat을 엽니다.
- 새 채팅을 클릭합니다.
- 사용자 1명 이상 추가 입력란에 Chat 앱의 이름을 입력합니다.
검색 결과에서 채팅 앱을 선택합니다. 채팅 메시지가 열립니다.
앱의 새 직접 메시지에
Hello
를 입력하고enter
를 누릅니다.Chat 앱에서 추가해 주셔서 감사하다는 메시지를 전송합니다.
신뢰할 수 있는 테스터를 추가하고 대화형 기능 테스트에 관해 자세히 알아보려면 Google Chat 앱의 대화형 기능 테스트를 참고하세요.
문제 해결
Google Chat 앱 또는 카드가 오류를 반환하면 Chat 인터페이스에 '문제가 발생했습니다'라는 메시지가 표시됩니다. 또는 '요청을 처리할 수 없습니다.' Chat UI에 오류 메시지가 표시되지 않지만 Chat 앱 또는 카드에서 예기치 않은 결과가 발생하는 경우가 있습니다. 예를 들어 카드 메시지가 표시되지 않을 수 있습니다.
Chat UI에 오류 메시지가 표시되지 않을 수 있지만 Chat 앱의 오류 로깅이 사용 설정된 경우 오류를 수정하는 데 도움이 되는 설명 오류 메시지와 로그 데이터를 사용할 수 있습니다. 오류를 보고, 디버그하고, 수정하는 데 도움이 필요한 경우 Google Chat 오류 문제 해결하기를 참고하세요.
삭제
이 튜토리얼에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 Cloud 프로젝트를 삭제하는 것이 좋습니다.
- Google Cloud 콘솔에서 리소스 관리 페이지로 이동합니다. 메뉴 > IAM 및 관리자 > 리소스 관리를 클릭합니다.
- 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제 를 클릭합니다.
- 대화상자에서 프로젝트 ID를 입력한 다음 종료를 클릭하여 프로젝트를 삭제합니다.
다음 단계
- 양방향 카드 만들기: 카드 메시지는 정의된 레이아웃, 버튼과 같은 양방향 UI 요소, 이미지와 같은 리치 미디어를 지원합니다. 카드 메시지를 사용하여 자세한 정보를 표시하고, 사용자로부터 정보를 수집하고, 사용자가 다음 단계를 수행하도록 안내합니다.
- 슬래시 명령어 지원: 슬래시 명령어를 사용하면 사용자가
/help
와 같이 슬래시 (/
)로 시작하는 명령어를 입력하여 앱에 제공할 수 있는 특정 명령어를 등록하고 광고할 수 있습니다. - 대화상자 실행: 대화상자는 앱에서 열어 사용자와 상호작용할 수 있는 창 기반 카드 인터페이스입니다. 여러 카드를 순차적으로 연결할 수 있으므로 사용자가 양식 데이터 작성과 같은 여러 단계의 프로세스를 완료하는 데 도움이 됩니다.
- Gemini로 Google Chat용 앱 빌드 Codelab의 의견 채팅 앱을 참고하세요. Codelab: 고급 채팅 앱을 빌드할 준비가 되셨나요?