Google Chat으로 개발
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
이 페이지에서는 Google Chat API 및 Google Chat 앱을 간략하게 설명합니다.
Google Chat API 개요
Chat API는 스페이스, 스페이스 구성원, 메시지, 메시지 반응, 메시지 첨부파일, 스페이스 이벤트, 사용자 읽기 상태 등 Chat에 대한 액세스 권한을 부여하는 gRPC 서비스 또는 REST 리소스 및 메서드로 구성됩니다.
개념
다음 섹션에서는 Chat API의 서비스, 리소스, 메서드를 정의합니다.
- 스페이스
스페이스는 사용자와 앱이 대화하고 파일을 공유할 수 있는 공간입니다. 스페이스에는 여러 유형이 있습니다. 채팅 메시지 (DM)는 두 사용자 또는 사용자와 Chat 앱 간의 1:1 대화입니다. 그룹 채팅은 세 명 이상의 사용자와 Chat 앱 간의 대화입니다. 이름이 지정된 스페이스는 사용자가 메시지를 보내고, 파일을 공유하고, 공동작업하는 지속적인 공간입니다.
리소스 참조:
사용 예시는 다음을 참고하세요.
- 구성원
멤버는 스페이스에 참여했거나 스페이스에 초대된 사용자 및 Chat 앱입니다.
리소스 참조:
사용 예시는 다음을 참고하세요.
- 메시지
메시지에는 스페이스에 게시된 텍스트 및 카드 커뮤니케이션이 포함됩니다. 메일에 파일을 첨부할 수 있습니다.
메시지에 그림 이모티콘을 추가하여 반응할 수 있습니다.
리소스 참조:
사용 예시는 다음을 참고하세요.
- 리액션
반응은 메시지에 반응하기 위해 사용자가 사용하는 그림 이모티콘을 나타냅니다(예: 👍, 🚲, 🌞).
리소스 참조:
사용 예시는 다음을 참고하세요.
- 맞춤 그림 이모티콘
맞춤 그림 이모티콘은 Google Chat에서 조직 내에서 만들어 공유된 맞춤 그림 이모티콘을 나타냅니다. 맞춤 그림 이모티콘은 메시지 콘텐츠에 포함하거나 메시지에 반응하는 데 사용할 수 있습니다.
리소스 참조:
사용 예시는 다음을 참고하세요.
- 미디어 및 첨부파일
미디어는 이미지, 동영상, 문서와 같이 Google Chat에 업로드된 파일을 나타냅니다.
미디어 리소스 참조 (RPC에서 사용 불가):
첨부파일은 메일에 첨부된 미디어 (파일)의 인스턴스입니다.
리소스 참조:
사용 예시는 다음을 참고하세요.
- 스페이스 이벤트
스페이스 이벤트는 스페이스 또는 스페이스의 하위 리소스(멤버, 메시지, 반응 포함)의 변경사항을 나타냅니다.
리소스 참조:
사용 예시는 다음을 참고하세요.
- 사용자 읽기 상태
사용자 읽음 상태는 Google Chat 스페이스 또는 메시지 스레드에서 지정된 사용자의 마지막 읽음 메시지에 관한 세부정보를 나타내는 싱글톤 리소스입니다.
스페이스 읽기 상태 리소스 참조:
스레드 읽기 상태 리소스 참조:
사용 예시는 다음을 참고하세요.
- 사용자 스페이스 알림 설정
사용자 스페이스 알림 설정은 Google Chat 스페이스에서 지정된 사용자 알림 설정을 나타내는 싱글톤 리소스입니다.
리소스 참조:
인증
Chat API를 호출하려면 인증이 필요합니다. 각 Chat API 메서드에는 사용자 인증(사용자를 대신하여 작업을 실행하거나 데이터에 액세스) 또는 앱 인증(Chat 앱으로 작업을 실행하거나 데이터에 액세스)이 필요합니다. 일부 메서드는 사용자 인증과 앱 인증을 모두 지원합니다.
Chat의 인증에 대해 자세히 알아보려면 인증 개요를 참고하세요.
클라이언트 라이브러리
대부분의 개발자가 Google Chat API를 호출하는 데 권장되는 방법은 Python, Java, Node.js와 같은 선호하는 언어에 대해 공식적으로 지원되는 Cloud 클라이언트 라이브러리를 사용하는 것입니다.
Google Apps Script로 코딩하는 경우 클라이언트 라이브러리를 설치하는 대신 고급 Chat 서비스를 사용하세요.
Chat 앱 빌드
Chat API를 사용하면 서비스와 리소스를 Google Chat으로 바로 가져오는 Google Chat 앱을 빌드할 수 있습니다. 다음과 같은 작업을 실행하는 Chat 앱을 빌드할 수 있습니다.
- 사용자가 입력한 구조화된 텍스트 또는 자유 형식 텍스트 쿼리를 기반으로 정보를 가져옵니다.
- 사용자가 제공한 정보를 사용하여 사고 보고서 또는 기타 아티팩트를 생성합니다.
- '팀 메모리' 제공 또는 리소스 예약과 같은 팀 공동작업을 개선합니다.
다음과 같은 다양한 아키텍처 스타일을 사용하여 Chat 앱을 설계할 수 있습니다.
- 대화형 앱: @멘션 또는 슬래시 명령어와 같은 사용자 상호작용에 응답하고 카드와 대화상자를 사용하여 정보를 표시하거나 워크플로를 통해 사용자를 안내합니다.
- 명령줄 앱 또는 웹훅: 다른 시스템에서 스페이스로 알람이나 알림과 같은 사전 알림 메시지를 보냅니다. 사용자는 이러한 유형의 앱과 직접 상호작용할 수 없습니다.
- 이벤트 기반 앱: 새 회원의 가입과 같은 Chat 스페이스의 활동을 구독하고 이에 반응합니다. 이벤트에 대한 응답으로 앱은 메시지를 보내거나 다른 작업을 실행할 수 있습니다.
Chat 앱 설계에 관한 자세한 내용은 Google Chat 앱 아키텍처 선택하기를 참고하세요.
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-08-04(UTC)
[null,null,["최종 업데이트: 2025-08-04(UTC)"],[[["\u003cp\u003eGoogle Chat apps integrate services directly into chats, enabling users to access information and take action without leaving the conversation.\u003c/p\u003e\n"],["\u003cp\u003eThese apps support various functionalities, including workflow management, data collection, and interactive elements like dialogs and slash commands.\u003c/p\u003e\n"],["\u003cp\u003eChoose from interactive, non-interactive, or event-driven architectures to build apps that cater to your specific needs and use cases.\u003c/p\u003e\n"],["\u003cp\u003eGoogle Chat apps can be built using various platforms like AppSheet, Google Apps Script, and Dialogflow.\u003c/p\u003e\n"],["\u003cp\u003eAccess to user data beyond basic identity requires authentication and user consent, ensuring privacy and security.\u003c/p\u003e\n"]]],["Google Chat apps integrate services directly into conversations, allowing users to access information and perform actions without leaving the chat. These apps can send text or card messages within spaces or direct messages. They can be interactive, responding to mentions and commands, or non-interactive, sending messages without user interaction. Apps can retrieve information, file tickets, and coordinate team efforts. Developers can build these apps using diverse platforms, manage deployments, and publish them on the Google Workspace Marketplace.\n"],null,["# Develop with Google Chat\n\nThis page provides an overview of the Google Chat API and Google Chat apps.\n\nGoogle Chat API overview\n------------------------\n\nThe Chat API consists of\n[gRPC services or REST resources and methods](https://cloud.google.com/apis/docs/client-libraries-explained)\nthat grant access to Chat, including spaces, space members,\nmessages, message reactions, message attachments, space events, and user read\nstates.\n\n### Concepts\n\nThe following section defines the services, resources, and methods for the\nChat API:\n\n*Spaces*\n\n: *Spaces* are places where people and apps can converse and share files. There\n are several types of spaces. Direct messages (DMs) are 1:1 conversations\n between two users or a user and a Chat app. Group\n chats are conversations between three or more users and\n Chat apps. Named spaces are persistent places where people send\n messages, share files, and collaborate.\n\n: Resource reference:\n\n - [RPC reference](/workspace/chat/api/reference/rpc/google.chat.v1#google.chat.v1.Space)\n - [REST reference](/workspace/chat/api/reference/rest/v1/spaces)\n\n: For example usage, see:\n\n - [Create a space](/workspace/chat/create-spaces)\n - [Set up a space](/workspace/chat/set-up-spaces)\n - [Get a space](/workspace/chat/get-spaces)\n - [List spaces](/workspace/chat/list-spaces)\n - [Update a space](/workspace/chat/update-spaces)\n - [Delete a space](/workspace/chat/delete-spaces)\n - [Find a direct message (DM)](/workspace/chat/find-direct-message-in-spaces)\n\n*Members*\n\n: *Members* are users and Chat apps that have joined or are\n invited to a space.\n\n: Resource reference:\n\n - [RPC reference](/workspace/chat/api/reference/rpc/google.chat.v1#google.chat.v1.Membership)\n - [REST reference](/workspace/chat/api/reference/rest/v1/spaces.members)\n\n: For example usage, see:\n\n - [Create a membership](/workspace/chat/create-members)\n - [Get a membership](/workspace/chat/get-members)\n - [List memberships](/workspace/chat/list-members)\n - [Update a membership](/workspace/chat/update-members)\n - [Delete a membership](/workspace/chat/delete-members)\n\n*Messages*\n\n: *Messages* include\n [text](/workspace/chat/api/reference/rest/v1/spaces.messages)\n and\n [card](/workspace/chat/api/reference/rest/v1/cards)\n communications posted in spaces. Messages can have files attached to them.\n People can react to messages by appending emoji to them.\n\n: Resource reference:\n\n - [RPC reference](/workspace/chat/api/reference/rpc/google.chat.v1#google.chat.v1.Message)\n - [REST reference](/workspace/chat/api/reference/rest/v1/spaces.messages)\n\n: For example usage, see:\n\n - [Create a message](/workspace/chat/create-messages)\n - [Get a message](/workspace/chat/get-messages)\n - [List messages](/workspace/chat/list-messages)\n - [Update a message](/workspace/chat/update-messages)\n - [Delete a message](/workspace/chat/delete-messages)\n\n*Reactions*\n\n: *Reactions* represent the emoji people use to react to a message, such as\n 👍, 🚲, and 🌞.\n\n: Resource reference:\n\n - [RPC reference](/workspace/chat/api/reference/rpc/google.chat.v1#google.chat.v1.Reaction)\n - [REST reference](/workspace/chat/api/reference/rest/v1/spaces.messages.reactions)\n\n: For example usage, see:\n\n - [Create a reaction](/workspace/chat/create-reactions)\n - [List reactions](/workspace/chat/list-reactions)\n - [Delete a reaction](/workspace/chat/delete-reactions)\n\n*Custom emoji*\n\n: *Custom emoji* represent custom emoji created and shared within the\n organization in Google Chat. Custom emoji can be included in the content of\n a message or used to react to a message.\n\n: Resource reference:\n\n - [RPC reference](/workspace/chat/api/reference/rpc/google.chat.v1#google.chat.v1.CustomEmoji)\n - [REST reference](/workspace/chat/api/reference/rest/v1/customEmojis)\n\n: For example usage, see:\n\n - [Create a custom emoji](/workspace/chat/create-custom-emoji)\n - [Delete a custom emoji](/workspace/chat/delete-custom-emoji)\n - [Get details about a custom emoji](/workspace/chat/get-custom-emoji)\n - [List custom emojis in an organization](/workspace/chat/list-custom-emojis)\n\n*Media and attachments*\n\n: *Media* represents a file uploaded to Google Chat, like images, videos, and\n documents.\n\n: Media resource reference (Unavailable in RPC):\n\n - [REST reference](/workspace/chat/api/reference/rest/v1/media)\n\n: *Attachments* are instances of media (files) attached to messages.\n\n: Resource reference:\n\n - [RPC reference](/workspace/chat/api/reference/rpc/google.chat.v1#google.chat.v1.Attachment)\n - [REST reference](/workspace/chat/api/reference/rest/v1/spaces.messages.attachments)\n\n: For example usage, see:\n\n - [Upload media as an attachment](/workspace/chat/upload-media-attachments)\n - [Download media as an attachment](/workspace/chat/download-media-attachments)\n - [Get an attachment](/workspace/chat/get-media-attachments)\n\n*Space events*\n\n: *Space events* represent changes to a space or its\n child resources, including its members, messages, and reactions.\n\n: Resource reference:\n\n - [RPC reference](/workspace/chat/api/reference/rpc/google.chat.v1#google.chat.v1.SpaceEvent)\n - [REST reference](/workspace/chat/api/reference/rest/v1/spaces.spaceEvents)\n\n: For example usage, see:\n\n - [Get space read state](/workspace/chat/get-space-read-state)\n - [Update space read state](/workspace/chat/update-space-read-state)\n - [Get thread read state](/workspace/chat/get-thread-read-state)\n\n*User read states*\n\n: *User read states* are singleton resources that represent details about a\n specified user's last read message in a Google Chat space or a message\n thread.\n\n: Space read state resource reference:\n\n - [RPC reference](/workspace/chat/api/reference/rpc/google.chat.v1#google.chat.v1.SpaceReadState)\n - [REST reference](/workspace/chat/api/reference/rest/v1/users.spaces)\n\n: Thread read state resource reference:\n\n - [RPC reference](/workspace/chat/api/reference/rpc/google.chat.v1#google.chat.v1.ThreadReadState)\n - [REST reference](/workspace/chat/api/reference/rest/v1/users.spaces.threads)\n\n: For example usage, see:\n\n - [Get space read state](/workspace/chat/get-space-read-state)\n - [Update space read state](/workspace/chat/update-space-read-state)\n - [Get thread read state](/workspace/chat/get-thread-read-state)\n\n*User space notification settings*\n\n: *User space notification settings* are singleton resources that represent a\n specified user notification settings in a Google Chat space.\n\n: Resource reference:\n\n - [RPC reference](/workspace/chat/api/reference/rpc/google.chat.v1#google.chat.v1.SpaceNotificationSetting)\n - [REST reference](/workspace/chat/api/reference/rest/v1/users.spaces.spaceNotificationSetting)\n\n### Authentication\n\nCalling the Chat API requires authentication. Each\nChat API method requires either\n[user authentication](/workspace/chat/authenticate-authorize-chat-user)\n(to perform actions or access\ndata on behalf of a user) or\n[app authentication](/workspace/chat/authenticate-authorize-chat-app)\n(to perform actions or access data as a Chat app). Some\nmethods support both user authentication and app authentication.\n\nTo learn more about authentication in Chat, see\n[Authentication overview](/workspace/chat/authenticate-authorize).\n\n### Client libraries\n\nThe recommended way for most developers to call the Google Chat API\nis with our officially supported\n[Cloud Client Libraries](/workspace/chat/libraries)\nfor your preferred language, like Python, Java, or Node.js.\n\nIf you're coding with Google Apps Script, use the\n[Advanced Chat service](/apps-script/advanced/chat)\ninstead of installing a client library.\n\nBuild Chat apps\n---------------\n\nThe Chat API lets you build Google Chat apps that bring your\nservices and resources right into Google Chat. You can build\nChat apps to do any of the following:\n\n- Retrieve information based on structured or free text queries entered by the user.\n- Generate incident reports or other artifacts, using information provided by the user.\n- Enhance team collaboration, such as providing \"team memory\" or scheduling resources.\n\nYou can design your Chat app using several different\narchitecture styles, including the following:\n\n- **Interactive apps**: Respond to user interaction, such as @mentions or slash commands, and present information or guide users through a workflow with cards and dialogs.\n- **Command-line apps or webhooks**: Send proactive messages, such as alarms or notifications, from another system into a space. Users can't directly interact with this type of app.\n- **Event-driven apps**: Subscribe to and react to activity in a Chat space, such as a new member joining. In response to an event, the app can send a message or perform another action.\n\nFor details about designing your Chat app, see\n[Choose a Google Chat app architecture](/workspace/chat/structure).\n\nRelated topics\n--------------\n\n- [Explore Google Chat app samples](/workspace/chat/samples).\n- [Build interactive Google Chat apps](/workspace/chat/interact-users-overview).\n- [Choose a Google Chat app architecture](/workspace/chat/structure).\n\n|---|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| | Want to see the Google Chat API in action? The Google Workspace Developers channel offers videos about tips, tricks, and the latest features. [Subscribe now](https://www.youtube.com/channel/UCUcg6az6etU_gRtZVAhBXaw) |"]]