이 페이지에서는 HTTP 채팅 앱을 만드는 방법을 설명합니다. 이 아키텍처를 구현하는 방법에는 여러 가지가 있습니다. Google Cloud에서는 Cloud Functions, Cloud Run, App Engine을 사용할 수 있습니다 이 빠른 시작에서는 채팅 앱이 사용자 메시지에 응답하는 데 사용하는 Cloud 함수를 작성하고 배포합니다.
이 아키텍처에서는 다음 다이어그램과 같이 HTTP를 사용하여 Google Cloud 또는 온프레미스 서버와 통합되도록 Chat을 구성합니다.
위 다이어그램에서 HTTP 채팅 앱과 상호작용하는 사용자는 다음과 같은 정보 흐름을 가집니다.
- 사용자가 Chat의 메시지를 채팅 앱(채팅 메시지 또는 Chat 스페이스)으로 보냅니다.
- HTTP 요청은 채팅 앱 로직이 포함된 클라우드 또는 온프레미스 시스템인 웹 서버로 전송됩니다.
- 원하는 경우 채팅 앱 로직을 Google Workspace 서비스 (예: Calendar, Sheets), 다른 Google 서비스(예: 지도, YouTube, Vertex AI) 또는 다른 웹 서비스 (예: 프로젝트 관리 시스템 또는 티켓팅 도구)와 통합할 수 있습니다.
- 웹 서버는 Chat의 Chat 앱 서비스에 HTTP 응답을 다시 보냅니다.
- 응답이 사용자에게 전달됩니다.
- 원하는 경우 채팅 앱에서 Chat API를 호출하여 비동기식으로 메시지를 게시하거나 기타 작업을 수행할 수 있습니다.
이 아키텍처를 사용하면 이미 시스템에 있는 기존 라이브러리와 구성요소를 유연하게 사용할 수 있습니다. 이러한 Chat 앱은 다양한 프로그래밍 언어를 사용하여 설계할 수 있기 때문입니다.
목표
- 환경을 설정합니다.
- Cloud 함수를 만들고 배포합니다.
- Chat에 앱을 게시합니다.
- 앱을 테스트합니다.
기본 요건
- 인증되지 않은 Google Cloud 함수 호출을 허용하는 Google Workspace 조직의 Google Chat 액세스 권한이 있는 Google Workspace 계정
- Google Cloud 프로젝트.
- Cloud 프로젝트에 결제를 사용 설정했는지 확인합니다. 프로젝트의 결제 상태를 확인하는 방법을 알아보세요.
환경 설정
Google API를 사용하려면 먼저 Google Cloud 프로젝트에서 API를 사용 설정해야 합니다. 단일 Google Cloud 프로젝트에서 하나 이상의 API를 사용 설정할 수 있습니다.Google Cloud 콘솔에서 Google Chat API, Cloud Build API, Cloud Functions API, Cloud Pub/Sub API, Cloud Logging API, Artifact Registry API, Cloud Run API를 사용 설정합니다.
Cloud 함수 생성 및 배포
보낸 사람의 표시 이름과 아바타 이미지를 사용하여 채팅 카드를 생성하는 Cloud 함수를 만들고 배포합니다. 채팅 앱이 메시지를 수신하면 함수를 실행하고 카드로 응답합니다.
채팅 앱에 사용할 함수를 만들고 배포하려면 다음 단계를 완료하세요.
Node.js
Google Cloud 콘솔에서 Cloud Functions 페이지로 이동합니다.
채팅 앱의 프로젝트가 선택되어 있는지 확인합니다.
함수 만들기를 클릭합니다.
함수 만들기 페이지에서 함수를 설정합니다.
- 환경에서 2세대를 선택합니다.
- 함수 이름에
QuickStartChatApp
를 입력합니다. - 리전에서 리전을 선택합니다.
- 인증에서 인증되지 않은 호출 허용을 선택합니다.
- 다음을 클릭합니다.
런타임에서 Node.js 20을 선택합니다.
소스 코드에서 인라인 편집기를 선택합니다.
진입점에서 기본 텍스트를 삭제하고
helloChat
를 입력합니다.index.js
의 내용을 다음 코드로 바꿉니다.배포를 클릭합니다.
Python
Google Cloud 콘솔에서 Cloud Functions 페이지로 이동합니다.
채팅 앱의 프로젝트가 선택되어 있는지 확인합니다.
함수 만들기를 클릭합니다.
함수 만들기 페이지에서 함수를 설정합니다.
- 함수 이름에
QuickStartChatApp
를 입력합니다. - 트리거 유형에서 HTTP를 선택합니다.
- 인증에서 인증되지 않은 호출 허용을 선택합니다.
- 저장을 클릭합니다.
- 다음을 클릭합니다.
- 함수 이름에
런타임에서 Python 3.10을 선택합니다.
소스 코드에서 인라인 편집기를 선택합니다.
진입점에서 기본 텍스트를 삭제하고
hello_chat
를 입력합니다.main.py
의 내용을 다음 코드로 바꿉니다.배포를 클릭합니다.
Java
Google Cloud 콘솔에서 Cloud Functions 페이지로 이동합니다.
채팅 앱의 프로젝트가 선택되어 있는지 확인합니다.
함수 만들기를 클릭합니다.
함수 만들기 페이지에서 함수를 설정합니다.
- 함수 이름에
QuickStartChatApp
를 입력합니다. - 트리거 유형에서 HTTP를 선택합니다.
- 인증에서 인증되지 않은 호출 허용을 선택합니다.
- 저장을 클릭합니다.
- 다음을 클릭합니다.
- 함수 이름에
런타임에서 자바 11을 선택합니다.
소스 코드에서 인라인 편집기를 선택합니다.
진입점에서 기본 텍스트를 삭제하고
HelloChat
를 입력합니다.src/main/java/com/example/Example.java
의 이름을src/main/java/HelloChat.java
로 바꿉니다.HelloChat.java
의 내용을 다음 코드로 바꿉니다.pom.xml
의 내용을 다음 코드로 바꿉니다.배포를 클릭합니다.
Cloud Functions 세부정보 페이지가 열리고 함수가 두 가지 진행 상태 표시기(빌드용 1개와 서비스용 1개)와 함께 표시됩니다. 두 진행 상태 표시기가 모두 사라지고 체크표시로 바뀌면 함수가 배포되어 준비된 것입니다.
Google Chat에 앱 게시
Cloud 함수가 배포된 후 다음 단계에 따라 Google Chat 앱으로 변환합니다.
Google Cloud 콘솔에서 메뉴 > Cloud Functions를 클릭합니다.
Cloud Functions를 사용 설정한 프로젝트를 선택했는지 확인합니다.
함수 목록에서 QuickStartChatApp을 클릭합니다.
함수 세부정보 페이지에서 트리거를 클릭합니다.
트리거 URL에서 URL을 복사합니다.
'Google Chat API'를 검색하고 Google Chat API를 클릭한 다음 관리를 클릭합니다.
Configuration을 클릭하고 Google Chat 앱을 설정합니다.
- 앱 이름에
Quickstart App
을 입력합니다. - 아바타 URL에
https://developers.google.com/chat/images/quickstart-app-avatar.png
을 입력합니다. - 설명에
Quickstart app
을 입력합니다. - 기능에서 1:1 메시지 수신 및 스페이스 및 그룹 대화 참여를 선택합니다.
- 연결 설정에서 앱 URL을 선택하고 Cloud 함수 트리거의 URL을 상자에 붙여넣습니다.
- 공개 상태에서 도메인의 특정 사용자 및 그룹이 이 Google Chat 앱을 사용할 수 있도록 설정을 선택하고 이메일 주소를 입력합니다.
- 로그에서 Logging에 오류 로깅을 선택합니다.
- 앱 이름에
저장을 클릭합니다.
채팅 앱이 Chat에서 메시지를 수신하고 응답할 준비가 되었습니다.
채팅 앱 테스트
채팅 앱을 테스트하려면 앱에 채팅 메시지를 보냅니다.
- Google Chat을 엽니다.
- 앱에 채팅 메시지를 보내려면 채팅 시작 을 클릭하고 표시되는 창에서 앱 찾기를 클릭합니다.
- 앱 찾기 대화상자에서
Quickstart App
를 검색합니다. - 앱으로 채팅 메시지를 열려면 빠른 시작 앱을 찾아 추가 > 채팅을 클릭합니다.
- 채팅 메시지에
Hello
를 입력하고enter
키를 누릅니다.
채팅 앱의 응답에는 다음 이미지와 같이 발신자의 이름과 아바타 이미지를 표시하는 카드 메시지가 포함됩니다.
오류 문제 해결
채팅 앱 문제를 해결하고 디버그하려면 Google Chat 앱 오류 문제 해결 및 해결을 참고하세요.
관련 주제
채팅 앱에 기능을 더 추가하려면 다음을 참고하세요.