このガイドでは、Google Chat API の SpaceEvent
リソースで get()
メソッドを使用して、Google Chat スペースからイベントの詳細を取得する方法について説明します。
SpaceEvent
リソースは、スペースまたはその子リソース(メッセージ、リアクション、メンバーシップなど)に対する変更を表します。サポートされているイベントタイプについては、SpaceEvent
リソースの eventType
フィールドのリファレンス ドキュメントをご覧ください。
イベントは、リクエストの 28 日前までリクエストできます。このイベントには、変更されたリソースの最新バージョンが含まれます。たとえば、新しいメッセージに関するイベントをリクエストし、その後メッセージが更新された場合、サーバーは更新された Message
リソースをイベント ペイロードで返します。
このメソッドを呼び出すには、ユーザー認証を使用する必要があります。イベントを取得するには、認証されたユーザーがイベントが発生したスペースのメンバーである必要があります。
前提条件
Node.js
- Google Chat へのアクセス権を持つビジネスまたはエンタープライズ Google Workspace アカウント。
- 環境を設定します。
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成する
- Google Chat API を有効にして構成し、Chat アプリの名前、アイコン、説明を指定します。
- Node.js の Cloud クライアント ライブラリをインストールします。
- デスクトップ アプリケーションの
OAuth クライアント ID 認証情報を作成します。このガイドのサンプルを実行するには、認証情報を
client_secrets.json
という名前の JSON ファイルとしてローカル ディレクトリに保存します。
- ユーザー認証をサポートする 承認スコープを選択します。
スペース イベントの詳細を取得する
Google Chat のスペース イベントの詳細を取得するには、リクエストで次のように渡します。
- リクエストで、イベントタイプをサポートする認可スコープを指定します。ベスト プラクティスとして、アプリが機能できる最も制限の厳しいスコープを選択することをおすすめします。
GetSpaceEvent()
メソッドを呼び出し、取得するスペース イベントのname
を渡します。
次の例では、スペース イベントを取得します。
Node.js
このサンプルを実行するには、次のように置き換えます。
SCOPE_NAME
: イベントタイプに基づく認可スコープ。たとえば、新しいメンバーシップに関するスペース イベントを受け取る場合は、https://www.googleapis.com/auth/chat.memberships.readonly
形式のchat.memberships.readonly
スコープを使用します。イベントタイプはListSpaceEvents()
メソッドから取得できます。このメソッドの使用方法については、スペースのイベントを一覧表示するをご覧ください。SPACE_NAME
: スペースのname
の ID。ID は、ListSpaces()
メソッドを呼び出すか、スペースの URL から取得できます。SPACE_EVENT_NAME
: スペース イベントのname
の ID。ID はListSpaceEvents()
メソッドから取得できます。このメソッドの使用方法については、スペースからイベントを一覧表示するをご覧ください。
Chat API は、イベントの詳細を含む SpaceEvent
のインスタンスを返します。