Google Workspace Events API を使用してイベントに登録する

このページでは、Google Workspace Events API の概要と、 API を使用して Google Workspace 全体でイベントに登録できます。

Google Workspace イベントは、Google Workspace リソースに対する変更を表します。 リソースの作成、更新、削除などの操作を行いますアプリでサブスクライブできる 関連するイベントを受信できるように、Google Workspace リソースに できます。

アプリがイベントを受信する仕組み

アプリが Google Workspace のイベントを受信できるようにするには、 Google Workspace Events API を使用して Google Workspace のサブスクリプションを作成 説明します。

Google Workspace Events API がイベントを配信する仕組みを示す図。
図 1. たとえば、 Google Workspace Events API がイベントを Chat アプリ。

次の例は、Google Workspace Events API がどのようにして Google Chat アプリにサブスクリプション経由で送信する場合:

  1. Chat アプリが Chat スペースに登録されます。
  2. Chat スペースが変更されます。たとえば、新しいメッセージが投稿されたとき できます。
  3. Chat は、のトピックにイベントを配信します。 Google Cloud Pub/Sub、 これは、サブスクリプションの通知エンドポイントとして機能します。イベント 変更内容に関するデータが含まれています。たとえば、新しいイベントに関する メッセージ。このイベントには、リクエストされた Message リソースの詳細が 作成されます。
  4. Chat アプリは、Google Cloud イベントを含む Pub/Sub メッセージを受け取り、必要に応じてアクションを実行します。

重要な用語

次のリストは、Terraform ワークフローで Google Workspace Events API:

Google Workspace イベント

Google Workspace リソースへの変更。イベントの形式は、 CloudEvents サブスクリプション イベントまたは ライフサイクル イベント:

サブスクリプション イベント
モニタリング対象の Google Workspace リソースに対する変更。 新着メッセージなどの通知を受け取ることができます。1 対 1 または 受信する詳細を指定します。詳しくは、 Google Workspace イベントの構造
ライフサイクル イベント
Google Workspace サブスクリプションに関するイベントです。ライフサイクル イベント 定期購入の問題や状態について通知を受け取れます。 定期購読イベントを見逃すことがありません。デフォルトでは、定期購入は ライフサイクル イベントを受信します。詳しくは Google Workspace サブスクリプションのライフサイクル イベントをご覧ください。
Google Workspace サブスクリプション

Google Workspace からリソースをモニタリングする名前付きエンティティ 説明します。サブスクリプションは Subscription リソースです。定期購入は次の情報で定義されます。

ターゲット リソース
モニタリングする Google Workspace リソース。 このリソースは、リソースの targetResource フィールドに Google Workspace サブスクリプション。各サブスクリプションで許可されるのは モニタリングします。どの Google Workspace リソースを 詳しくは、 サポートされている Google Workspace イベント
イベントタイプ
通知を受け取る変更の種類 ターゲット リソースを指定します。たとえば、 Google Chat スペースでは、スペースに参加すると、 スペースとその子リソース(メンバーシップやメッセージなど)が保持されます。
通知エンドポイント
API 呼び出しを実行するエンドポイント Google Workspace サブスクリプションがイベントを受信します。「 Google Workspace Events API は、Google Cloud Pub/Sub トピックを 記述できますGoogle Cloud Pub/Sub の使用方法について詳しくは、 詳しくは、 Google Cloud Pub/Sub のドキュメントをご覧ください。
ペイロード オプション
変更されたリソースについて受信するイベントデータ

サポートされる Google Workspace イベント

アプリがイベントを受信できるイベントは、 。次の表に、各イベントでサポートされているイベントを示します。 ターゲット リソース。

ターゲット リソース サポートされるイベント
Google Chat スペース
  • メッセージ
  • メンバーシップ
  • リアクション
  • スペース
Google Chat ユーザー
  • メンバーシップ
Google Meet の会議スペース
  • コンファレンス
  • 参加者セッション
  • 録画
  • 成績証明
Google Meet ユーザー
  • コンファレンス
  • 参加者セッション
  • 録画
  • 成績証明

詳細については、次のガイドをご覧ください。

Google Workspace のイベントの構造

Google Workspace イベントは、CloudEvents 仕様 これは、イベントデータを記述するための業界標準の方法です。Google Workspace イベントには以下が含まれます。

  • CloudEvent の属性
  • データ Google Workspace リソースに関する イベント

次のセクションでは、Terraform の属性とデータの構造について説明します。 Google Workspace のイベント。

CloudEvent の属性

Google Workspace のイベントに含まれる必須アイテム CloudEvents 属性:

属性 説明

datacontenttype

イベントで渡されたデータの型。

application/json

id

CloudEvent の識別子。

spaces/AAAABBBBBBB/spaceEvents/ABCDEFGHIJKLMNO

source

イベントのソース。Google Workspace のイベントでは サブスクリプションの完全なリソース名です。 //workspaceevents.googleapis.com/subscriptions/chat-spaces-abcdefg

specversion

このイベントに使用される CloudEvents 仕様のバージョン。

1.0

subject

イベントが発生した Google Workspace リソース。

//chat.googleapis.com/spaces/AAAABBBBBBB

time

イベント発生時のタイムスタンプ(RFC 3339 形式)。

2023-09-07T21:37:36.260127Z

type

Google Workspace イベントの種類。

google.workspace.chat.message.v1.created

イベントデータ

イベントデータは、サブスクリプションのターゲットの変更を表すペイロード ターゲット リソースの子リソースも含みます。対象: そのほかに、サブスクリプションに関するデータをペイロードに 変更されたリソースの名前、または変更されたリソースの名前のみが返されます。

たとえば、Chat スペースのサブスクリプションがある場合、 スペース内の新しいメッセージに関する予定を受け取ることができます。イベント対象 イベントデータには、チャット メッセージを含むペイロードが 作成された spaces.message リソース。

サブスクリプションを作成するときに、保存するリソースデータの量を指定できます。 含まれている場合:

  • リソースデータを含める: 変更されたフィールドの一部またはすべてが含まれます リソースです。リソースデータを含める場合、サブスクリプションは 使用できる期間は最大 4 時間です。ドメイン全体を使用する場合は 委任をご覧ください。
  • リソースデータを除外: 変更された名前のみが含まれます リソースです。サブスクリプション期間は最長 7 日間です。詳細情報を リソースの名前を使用してそのリソースをクエリできます。

イベントデータのこれらのオプションは、payloadOptions で表されます。 フィールドです。

Google Cloud Pub/Sub メッセージとしてのイベント

Google Workspace Events API サブスクリプションでは Google Cloud Pub/Sub を使用 トピックを、通知エンドポイントとして Google Workspace に できます。イベントは Google Cloud Pub/Sub メッセージとしてエンコードされます。アプリ Google Cloud Pub/Sub メッセージを処理して、アクションを実行したり、 追加できます。

次の例は、次を含む Google Cloud Pub/Sub メッセージを示しています。 Chat スペース内のメッセージの更新に関するイベント

 {
    "message":
    {
        "attributes":
        {
            "ce-datacontenttype": "application/json",
            "ce-id": "spaces/SPACE_ID/spaceEvents/SPACE_EVENT_ID",
            "ce-source": "//workspaceevents.googleapis.com/subscriptions/SUBSCRIPTION_ID",
            "ce-specversion": "1.0",
            "ce-subject": "//chat.googleapis.com/spaces/SPACE_ID",
            "ce-time": "2023-09-07T21:37:53.274191Z",
            "ce-type": "google.workspace.chat.message.v1.updated"
        },
        "data": "EVENT_DATA",
        "messageId": "PUBSUB_MESSAGE_ID",
        "orderingKey": "//workspaceevents.googleapis.com/subscriptions/SUBSCRIPTION_ID",
        "publishTime": "2023-09-07T21:37:53.713Z"
    }
}

次のフィールドに注意してください。

  • attributes: CloudEvent の属性。次のような属性があります。 イベントタイプを指定します。この場合、イベントは更新されたメッセージに関するものです。 選択します。
  • data: 更新された詳細を含むイベントデータ Base64 でエンコードされた文字列としてフォーマットされた spaces.message リソース。
  • messageId: Google Cloud Pub/Sub メッセージの識別子。

Google Cloud Pub/Sub で CloudEvents を指定する方法の詳細 CloudEvents の Google Cloud Pub/Sub プロトコル バインディングをご覧ください。