このセクションでは、Google Chat アプリが Chat API を呼び出す方法について説明します。この API により、Chat アプリは Chat 用アプリの操作イベントの通知を受けることなく、スペースの作成、スペースへのユーザーの追加、メッセージの投稿などを行うことができます。
認証
Chat API を非同期で呼び出すには、認証が必要です。各 Chat API メソッドには、ユーザー認証(ユーザーの代わりにアクションを実行するかデータにアクセスするため)またはアプリの認証(Chat アプリとしてアクションを実行するかデータにアクセスするため)が必要です。ユーザー認証とアプリ認証の両方をサポートしている方法もあります。
Chat での認証の詳細については、認証の概要をご覧ください。
API リソースとメソッド
REST のリソースとメソッドは、Chat スペース、スペースのメンバー、メッセージ、メッセージ リアクション、メッセージ添付ファイルへの非同期アクセスを許可します。
- スペース
スペースは、ユーザーとアプリが会話したり、ファイルを共有したりできる場所です。スペースにはいくつかのタイプがあります。ダイレクト メッセージ(DM)は、2 人のユーザーまたはユーザーと Chat アプリの 1 対 1 の会話です。グループ チャットとは、3 人以上のユーザーと Chat アプリの間で行われる会話です。名前付きスペースは、メッセージの送信、ファイルの共有、共同作業を行う場所であり、
spaces
リソースはスペースを表します。スペースでは、次のメソッドがサポートされています。
- ユーザーとアプリが会話したり、ファイルを共有したりできる場所であるスペースを作成します。
- スペースを設定してスペースを作成し、そのスペースにユーザーと Chat アプリを追加します。
- スペースの詳細を確認するには、スペースを取得してください。
- スペースを一覧表示すると、ページ分けされたフィルタ可能なスペースのリストを表示できます。
- スペースを更新して、スペースに関する属性(ユーザーに表示される表示名、説明、ガイドラインなど)を変更します。
- 不要になったスペースを削除する。
- ダイレクト メッセージ(DM)を検索して、2 人のユーザー間の DM、またはユーザーと呼び出し元の Chat アプリ間の DM を返します。
- Members
メンバーとは、スペースに参加している、またはスペースに招待されたユーザーと Chat アプリのことです。
spaces.members
リソースはメンバーを表します。メンバーは次のメソッドをサポートしています。
- スペースにユーザーまたはアプリを追加するには、メンバーシップを作成します。
- メンバーシップの詳細を確認するには、メンバーシップを取得してください。
- メンバーの一覧表示で、スペース内のメンバーシップのリスト(ページ分け、フィルタ可能)を確認できます。
- メンバーシップを更新して、メンバーシップに関する属性を変更します。たとえば、スペースのメンバーからスペースの管理者への変更、スペースの管理者からスペースのメンバーへの変更などを行います。
- スペースからユーザーまたはアプリを削除するには、メンバーシップを削除します。
- メッセージ
メッセージには、スペースに投稿されたテキストやカードのコミュニケーションが含まれます。メッセージにはファイルを添付できます。 ユーザーは絵文字を追加してメッセージにリアクションできます。
spaces.messages
リソースはメッセージを表します。メッセージでは次のメソッドがサポートされています。
- メッセージを作成して、テキストまたはカード メッセージを投稿します。メッセージ スレッドを開始または返信することもできます。
- メッセージを取得して、メッセージの送信日時や内容など、メッセージの詳細を取得します。
- メッセージを一覧表示して、スペース内のメッセージのリスト(ページ分け、フィルタ可能)を確認します。
- メッセージを更新して、メッセージの内容などのメッセージ属性を変更します。また、カード メッセージにテキストを追加したり、テキスト メッセージにカードを追加することもできます。
- 不要になったメッセージを削除する。
- リアクション
リアクションは、ユーザーがメッセージにリアクションするために使用する絵文字を表します(例: fitbit、🚲?、🔥?)。
spaces.messages.reactions
リソースはリアクションを表します。リアクションでは、次のメソッドがサポートされています。
- リアクションを作成して、メッセージに絵文字を追加します。
- リアクションを一覧表示すると、メッセージに対するリアクションのページ分けされたフィルタ可能なリストを表示できます。
- リアクションを削除すると、メッセージから絵文字を削除できます。
- メディアと添付ファイル
メディアは、Google Chat にアップロードされた、画像、動画、ドキュメントなどのファイルを表します。
media
リソースは、メッセージに添付されたメディアを表します。添付ファイルは、メッセージに添付されたメディア(ファイル)のインスタンスです。
spaces.messages.attachments
リソースはアタッチメントを表します。添付ファイルには、メッセージに添付されたメディアと関連するメタデータが含まれます。メディアと添付ファイルでは、次のメソッドがサポートされています。
- Google Chat にメディアをアップロードしてメッセージに添付するには、メディアを添付ファイルとしてアップロードします。
- メディアを添付ファイルとしてダウンロードし、Google Chat からメディアをバイナリ ファイルとしてダウンロードします。
- メッセージの添付ファイルに関するメタデータを取得するには、添付ファイルを取得します。
- スペース イベント
スペース イベントは、スペースまたはその子リソース(メンバー、メッセージ、リアクションなど)に対する変更を表します。
spaces.spaceEvent
リソースは、スペース イベントを表します。スペース イベントは、次のメソッドをサポートしています。
- スペースのイベントを取得すると、スペースで発生したイベントの詳細が返されます。
- スペースのイベントの一覧表示で、スペースで発生したイベントのリストを取得できます。
- ユーザーの読み取り状態
ユーザーの読み取り状態は、ユーザーが Google Chat スペースまたはメッセージ スレッドで最後に読んだメッセージの詳細を表すシングルトン リソースです。
users.spaces
リソースは、スペースにおけるユーザーの読み取り状態を表します。users.spaces.threads
リソースは、メッセージ スレッドにおけるユーザーの既読状態を表します。ユーザーの読み取り状態は、次のメソッドをサポートしています。
- スペースの読み取り状態の取得。スペース内のユーザーの読み取り状態の詳細を返します。
- スペースの読み取り状態を更新する: スペース内のユーザーの読み取り状態を更新します。
- スレッドの読み取り状態を取得する。スレッド内のユーザーの読み取り状態の詳細を返します。