Google Apps Script로 Google Chat 앱 빌드하기

채팅 메시지를 보내면 해당 메시지를 반영하여 응답하는 Google Chat 앱을 만들어 보세요.

다음 다이어그램은 아키텍처와 메시지 패턴을 보여줍니다.

Apps Script로 구현된 Chat 앱의 아키텍처

위 다이어그램에서 Apps Script Chat 앱과 상호작용하는 사용자는 다음과 같은 정보 흐름을 갖습니다.

  1. 사용자가 채팅 메시지 또는 Chat 스페이스를 통해 Chat 앱에 메시지를 보냅니다.
  2. Google Cloud에 있는 Apps Script에 구현된 Chat 앱 로직이 메시지를 수신하고 처리합니다.
  3. 원하는 경우 Chat 앱 로직을 Calendar 또는 Sheets와 같은 Google Workspace 서비스 또는 Google 지도 또는 YouTube와 같은 다른 Google 서비스와 통합할 수 있습니다.
  4. Chat 앱 로직은 Chat의 Chat 앱 서비스로 응답을 다시 전송합니다.
  5. 응답이 사용자에게 전송됩니다.

목표

  • 환경을 설정합니다.
  • 스크립트를 설정합니다.
  • Chat 앱을 게시합니다.
  • Chat 앱을 테스트합니다.

기본 요건

환경 설정

Google Cloud 콘솔에서 Cloud 프로젝트 열기

아직 열려 있지 않으면 이 샘플에 사용할 Cloud 프로젝트를 엽니다.

  1. Google Cloud 콘솔에서 프로젝트 선택 페이지로 이동합니다.

    Cloud 프로젝트 선택

  2. 사용할 Google Cloud 프로젝트를 선택합니다. 또는 프로젝트 만들기를 클릭하고 화면에 표시된 안내를 따릅니다. Google Cloud 프로젝트를 만드는 경우 프로젝트에 결제를 사용 설정해야 할 수 있습니다.

Chat API 사용 설정

Google API를 사용하려면 먼저 Google Cloud 프로젝트에서 사용 설정해야 합니다. 단일 Google Cloud 프로젝트에서 하나 이상의 API를 사용 설정할 수 있습니다.
  • Google Cloud 콘솔에서 Google Chat API를 사용 설정합니다.

    API 사용 설정

OAuth 2.0을 사용하는 모든 앱에는 동의 화면 구성이 필요합니다. 앱의 OAuth 동의 화면을 구성하면 사용자와 앱 검토자에게 표시되는 항목이 정의되고 나중에 게시할 수 있도록 앱이 등록됩니다.

  1. Google Cloud 콘솔에서 메뉴 > API 및 서비스 > OAuth 동의 화면으로 이동합니다.

    OAuth 동의 화면으로 이동

  2. 사용자 유형에서 내부를 선택한 다음 만들기를 클릭합니다.
  3. 앱 등록 양식을 작성한 후 저장 및 계속을 클릭합니다.
  4. 지금은 범위 추가를 건너뛰고 저장하고 계속을 클릭해도 됩니다. 향후 Google Workspace 조직 외부에서 사용할 앱을 만들 때는 사용자 유형외부로 변경한 후 앱에 필요한 승인 범위를 추가해야 합니다.

  5. 앱 등록 요약을 검토합니다. 변경하려면 수정을 클릭합니다. 앱 등록이 올바른 것으로 보이면 대시보드로 돌아가기를 클릭합니다.

스크립트 설정

스크립트를 설정하려면 템플릿을 사용한 후 Apps Script에서 Cloud 프로젝트를 설정합니다.

템플릿에서 스크립트 만들기

  1. Apps Script 시작하기 페이지로 이동합니다.
  2. 페이지 하단에서 채팅 앱 템플릿을 클릭합니다.
  3. 제목 없는 프로젝트를 클릭하고 Quickstart app를 입력한 다음 이름 바꾸기를 클릭합니다.

Cloud 프로젝트 번호 복사

  1. Google Cloud 콘솔에서 메뉴 > IAM 및 관리자 > 설정으로 이동합니다.

    IAM & 관리자 설정으로 이동

  2. 프로젝트 번호 필드에서 값을 복사합니다.

Apps Script 프로젝트의 Cloud 프로젝트 설정

  1. Chat 앱 Apps Script 프로젝트에서 프로젝트 설정 프로젝트 설정의 아이콘을 클릭합니다.
  2. Google Cloud Platform(GCP) 프로젝트에서 프로젝트 변경을 클릭합니다.
  3. GCP 프로젝트 번호에 Google Cloud 프로젝트 번호를 붙여넣습니다.
  4. 프로젝트 설정을 클릭합니다.

이제 다음 단계에 설명된 대로 사용해 보고 요구사항에 맞게 맞춤설정할 수 있는 작동하는 앱 코드가 생성되었습니다.

Apps Script 템플릿을 열 때 올바른 Google 계정에 로그인되어 있는지 확인합니다. 사용자 모르게 현재 계정이 기본 계정으로 전환될 수 있습니다.

테스트 배포 만들기

다음 단계에서 사용할 수 있도록 이 Apps Script 프로젝트의 배포 ID가 필요합니다.

헤드 배포 ID를 가져오려면 다음 단계를 따르세요.

  1. Chat 앱 Apps Script 프로젝트에서 배포 > 배포 테스트를 클릭합니다.
  2. 이후 단계에서 사용할 헤드 배포 ID를 복사하고 완료를 클릭합니다.

Chat 앱 게시

콘솔에서 Chat 앱을 게시합니다.

  1. 콘솔에서 Google Chat API를 검색하고 Google Chat API를 클릭합니다.
  2. 관리를 클릭합니다.
  3. 구성을 클릭하고 Chat 앱을 설정합니다.

    1. 앱 이름 필드에 Quickstart app을 입력합니다.
    2. 아바타 URL 필드에 https://developers.google.com/chat/images/quickstart-app-avatar.png를 입력합니다.
    3. 설명 필드에 Quickstart app을 입력합니다.
    4. 기능에서 1:1 메시지 수신스페이스 및 그룹 대화 참여를 선택합니다.
    5. 연결 설정에서 Apps Script를 선택합니다.
    6. 배포 ID 입력란에 이전에 복사한 헤드 배포 ID를 붙여넣습니다.
    7. 공개 상태에서 내 도메인의 특정 사용자 및 그룹을 선택하고 이메일을 입력합니다.
  4. 저장을 클릭합니다.

Chat 앱이 메시지에 응답할 준비가 되었습니다.

채팅 앱 테스트

Chat 앱을 테스트하려면 Chat 앱으로 채팅 메시지 공간을 열고 메시지를 보냅니다.

  1. 신뢰할 수 있는 테스터로 추가할 때 제공한 Google Workspace 계정을 사용하여 Google Chat을 엽니다.

    Google Chat으로 이동

  2. 새 채팅을 클릭합니다.
  3. 사용자 1명 이상 추가 입력란에 Chat 앱의 이름을 입력합니다.
  4. 검색 결과에서 채팅 앱을 선택합니다. 채팅 메시지가 열립니다.

  5. 앱의 새 직접 메시지에 Hello를 입력하고 enter를 누릅니다.

    Chat 앱에서 추가해 주셔서 감사하다는 메시지를 전송합니다.

신뢰할 수 있는 테스터를 추가하고 대화형 기능 테스트에 관해 자세히 알아보려면 Google Chat 앱의 대화형 기능 테스트를 참고하세요.

문제 해결

Google Chat 앱 또는 카드가 오류를 반환하면 Chat 인터페이스에 '문제가 발생했습니다'라는 메시지가 표시됩니다. '요청을 처리할 수 없습니다' Chat UI에 오류 메시지가 표시되지 않지만 Chat 앱 또는 카드에서 예기치 않은 결과가 발생하는 경우가 있습니다. 예를 들어 카드 메시지가 표시되지 않을 수 있습니다.

Chat UI에 오류 메시지가 표시되지 않을 수 있지만 Chat 앱의 오류 로깅이 사용 설정된 경우 오류를 수정하는 데 도움이 되는 설명 오류 메시지와 로그 데이터를 사용할 수 있습니다. 오류를 보고, 디버그하고, 수정하는 방법에 관한 도움말은 Google Chat 오류 문제 해결하기를 참고하세요.

삭제

이 튜토리얼에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 Cloud 프로젝트를 삭제하는 것이 좋습니다.

  1. Google Cloud 콘솔에서 리소스 관리 페이지로 이동합니다. 메뉴 > IAM 및 관리자 > 리소스 관리를 클릭합니다.

    Resource Manager로 이동

  2. 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제 를 클릭합니다.
  3. 대화상자에서 프로젝트 ID를 입력한 다음 종료를 클릭하여 프로젝트를 삭제합니다.

다음 단계

  • 양방향 카드 만들기: 카드 메시지는 정의된 레이아웃, 버튼과 같은 양방향 UI 요소, 이미지와 같은 리치 미디어를 지원합니다. 카드 메시지를 사용하여 자세한 정보를 표시하고, 사용자로부터 정보를 수집하고, 사용자가 다음 단계를 수행하도록 안내합니다.
  • 슬래시 명령어 지원: 슬래시 명령어를 사용하면 사용자가 /help와 같이 슬래시 (/)로 시작하는 명령어를 입력하여 앱에 제공할 수 있는 특정 명령어를 등록하고 광고할 수 있습니다.
  • 대화상자 실행: 대화상자는 앱에서 열어 사용자와 상호작용할 수 있는 창 기반 카드 인터페이스입니다. 여러 카드를 순차적으로 연결할 수 있으므로 사용자가 양식 데이터 작성과 같은 여러 단계의 프로세스를 완료하는 데 도움이 됩니다.
  • Codelab: 고급 채팅 앱을 빌드할 준비가 되셨나요? Gemini로 Google Chat용 앱 빌드 Codelab의 의견 채팅 앱을 참고하세요.