Google Chat スペースのイベントの詳細を取得する

このガイドでは、Google Chat API の SpaceEvent リソースで get() メソッドを使用して、Google Chat スペースからイベントの詳細を取得する方法について説明します。

SpaceEvent リソースは、スペースまたはその子リソース(メッセージ、リアクション、メンバーシップなど)に対する変更を表します。サポートされているイベントタイプについては、SpaceEvent リソースの eventType フィールドのリファレンス ドキュメントをご覧ください。

イベントは、リクエストの 28 日前までリクエストできます。このイベントには、変更されたリソースの最新バージョンが含まれます。たとえば、新しいメッセージに関するイベントをリクエストし、その後メッセージが更新された場合、サーバーは更新された Message リソースをイベント ペイロードで返します。

このメソッドを呼び出すには、ユーザー認証を使用する必要があります。イベントを取得するには、認証されたユーザーがイベントが発生したスペースのメンバーである必要があります。

前提条件

Node.js

スペース イベントの詳細を取得する

Google Chat のスペース イベントの詳細を取得するには、リクエストで次のように渡します。

  • リクエストで、イベントタイプをサポートする認可スコープを指定します。ベスト プラクティスとして、アプリが機能できる最も制限の厳しいスコープを選択することをおすすめします。
  • GetSpaceEvent() メソッドを呼び出し、取得するスペース イベントの name を渡します。

次の例では、スペース イベントを取得します。

Node.js

chat/client-libraries/cloud/get-space-event-user-cred.js
import {createClientWithUserCredentials} from './authentication-utils.js';

// Replace SCOPE_NAME here with an authorization scope based on the event type
const USER_AUTH_OAUTH_SCOPES = ['SCOPE_NAME'];

// This sample shows how to get space event with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(USER_AUTH_OAUTH_SCOPES);

  // Initialize request argument(s)
  const request = {
    // Replace SPACE_NAME and SPACE_EVENT_NAME here
    name: 'spaces/SPACE_NAME/spaceEvents/SPACE_EVENT_NAME'
  };

  // Make the request
  const response = await chatClient.getSpaceEvent(request);

  // Handle the response
  console.log(response);
}

main().catch(console.error);

このサンプルを実行するには、次のように置き換えます。

  • 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 のインスタンスを返します。