Google Chat で開発する
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
このページでは、Google Chat API と Google Chat アプリの概要について説明します。
Google Chat API の概要
Chat API は、スペース、スペース メンバー、メッセージ、メッセージのリアクション、メッセージの添付ファイル、スペース イベント、ユーザーの既読状態など、Chat へのアクセスを許可する gRPC サービスまたは REST リソースとメソッドで構成されています。
コンセプト
次のセクションでは、Chat API のサービス、リソース、メソッドを定義します。
- スペース
スペースは、ユーザーやアプリが会話したり、ファイルを共有したりできる場所です。スペースにはいくつかの種類があります。ダイレクト メッセージ(DM)は、2 人のユーザー間、またはユーザーと Chat 用アプリ間の 1 対 1 の会話です。グループ チャットは、3 人以上のユーザーと Chat 用アプリ間の会話です。名前付きスペースは、ユーザーがメッセージの送信、ファイルの共有、共同作業を行う永続的な場所です。
リソースのリファレンス:
使用例については、以下をご覧ください。
- メンバー
メンバーは、スペースに参加しているユーザーと Chat 用アプリ、またはスペースに招待されているユーザーと Chat 用アプリです。
リソースのリファレンス:
使用例については、以下をご覧ください。
- メッセージ
メッセージには、スペースに投稿されたテキストとカードのコミュニケーションが含まれます。メッセージにはファイルを添付できます。メッセージに絵文字を追加して、メッセージにリアクションできます。
リソースのリファレンス:
使用例については、以下をご覧ください。
- リアクション
リアクションは、メッセージに対するリアクションとしてユーザーが使用する絵文字(👍、🚲、🌞 など)を表します。
リソースのリファレンス:
使用例については、以下をご覧ください。
- カスタム絵文字
カスタム絵文字は、Google Chat で組織内で作成および共有されたカスタム絵文字を表します。カスタム絵文字は、メッセージのコンテンツに含めることも、メッセージへのリアクションとして使用することもできます。
リソースのリファレンス:
使用例については、以下をご覧ください。
- メディアと添付ファイル
Media は、Google Chat にアップロードされたファイル(画像、動画、ドキュメントなど)を表します。
メディア リソース リファレンス(RPC では使用できません):
添付ファイルは、メッセージに添付されたメディア(ファイル)のインスタンスです。
リソースのリファレンス:
使用例については、以下をご覧ください。
- Space イベント
スペース イベントは、スペースまたはその子リソース(メンバー、メッセージ、リアクションなど)に対する変更を表します。
リソースのリファレンス:
使用例については、以下をご覧ください。
- ユーザーの既読状態
ユーザーの既読状態は、Google Chat スペースまたはメッセージ スレッドで指定されたユーザーが最後に読んだメッセージに関する詳細を表すシングルトン リソースです。
Space の読み取り状態リソースのリファレンス:
スレッドの読み取り状態のリソース リファレンス:
使用例については、以下をご覧ください。
- ユーザーのスペースの通知設定
ユーザー スペースの通知設定は、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 用アプリは、次のようなさまざまなアーキテクチャ スタイルを使用して設計できます。
- インタラクティブ アプリ: ユーザーの操作(名前リンクやスラッシュ コマンドなど)に応答し、カードやダイアログを使用して情報を表示したり、ワークフローを案内したりします。
- コマンドライン アプリまたは Webhook: 別のシステムからスペースにアラームや通知などのプロアクティブなメッセージを送信します。ユーザーはこのタイプのアプリを直接操作することはできません。
- イベント ドリブン アプリ: 新しいメンバーの参加など、Chat スペースのアクティビティを登録して対応します。イベントに応答して、アプリはメッセージを送信したり、他のアクションを実行したりできます。
Chat 用アプリの設計について詳しくは、Google Chat 用アプリのアーキテクチャを選択するをご覧ください。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は 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) |"]]