Google Chat のイベントに登録する

このページでは、Google Chat アプリで実行される Google Chat イベントに Google Workspace Events API で登録できますどちらを使用するかを決定したら 作成する場合は、 受け取り Google Chat で管理できます。

イベントへの登録に加え、 やり取りできます。Chat API を呼び出すと、 定期的にイベントを取得するか、 サービスの停止が原因でサブスクリプションから逃した可能性のあるイベントを学習内容 Chat のイベントを受信して返信する方法については、 Google Chat で Google Chat からの予定 Chat のドキュメントをご覧ください。

サポートされている Chat イベント

Google Workspace サブスクリプションでは、 Chat では次のような変更が行われました。

  • 新規、更新、削除されたメッセージ できます。
  • リアクションの追加または削除 追加できます。
  • 新規、更新、削除されたメンバー できます。
  • Space に対する変更 登録しているスペースの情報も更新されます。

イベントをモニタリングできるリソース

イベントを受信するには、モニタリングする Chat リソースを指定し、 これはサブスクリプションのターゲット リソースと呼ばれます。

Google Workspace Events API がサポートしているターゲット リソース Chat の場合:

ターゲット リソース 形式 制限事項
スペース

//chat.googleapis.com/spaces/SPACE

ここで、SPACE はファイルの ID です。 <ph type="x-smartling-placeholder"></ph> Chat API リソースのspaceリソース名。 ID は、スペースの URL から取得するか、 <ph type="x-smartling-placeholder"></ph> spaces.list() メソッドを使用します。

サブスクリプションを承認する Chat ユーザーは、 Google Workspace または Google Chat を通じてスペースのメンバーになる アカウント。
1 ユーザーのすべてのスペース

//chat.googleapis.com/spaces/-

サブスクリプションは、ユーザーが参加しているスペースのイベントのみを受信します。 Google Workspace または Google アカウントからメンバーに登録できます。
ユーザー

//cloudidentity.googleapis.com/users/USER

ここで、USER はファイルの ID です。 <ph type="x-smartling-placeholder"></ph> Chat API リソースのuserリソース名。 詳しくは、 特定と特定 Google Chat ユーザー

サブスクリプションが受信するのは、 サブスクリプションを承認しました。ユーザーは次の場所で定期購入を承認できません: 委任することもできます。

サブスクリプションを作成するためのイベントタイプ

サブスクリプションを作成するときには、 eventTypes[] フィールドを使用して、受信するイベントの種類を指定します。イベントタイプは CloudEvents 仕様に従って書式設定されます。 google.workspace.APPLICATION.RESOURCE.VERSION.ACTION

たとえば、ユーザーが Chat に参加したことに関するイベントを受信し、 スペースをターゲット リソースとして指定し、イベントタイプを google.workspace.chat.membership.v1.created。特定のイベントに関する ユーザーが任意のスペースに参加する場合は、そのユーザーをターゲット リソースとして指定し、 イベントタイプとして google.workspace.chat.membership.v1.created を指定します。詳細情報 イベントの仕組みについては、Google Workspace の構造 できます

次の表に、サブスクリプションでサポートされているイベントタイプを示します。 ユーザーとサブスクリプションを管理できます。例外について詳しくは、 イベントをトリガーするものについては、制限事項をご覧ください。

イベントの種類 形式 リソースデータ
スペースのサブスクリプション  
メッセージが投稿されます。

google.workspace.chat.message.v1.created

space.message

メッセージが更新されました。

google.workspace.chat.message.v1.updated

space.message

メッセージが削除された。

google.workspace.chat.message.v1.deleted

space.message

リアクションが作成されます。

google.workspace.chat.reaction.v1.created

space.message.reaction

リアクションが削除されました。

google.workspace.chat.reaction.v1.deleted

space.message.reaction

スペースにメンバーが追加された。

google.workspace.chat.membership.v1.created

space.membership

スペースでメンバーが更新されました。

google.workspace.chat.membership.v1.updated

space.membership

スペースからメンバーが削除された。

google.workspace.chat.membership.v1.deleted

space.membership

スペースが更新されます。

google.workspace.chat.space.v1.updated

space

スペースが削除されます。

google.workspace.chat.space.v1.deleted

space

ユーザーへの定期購入  
ユーザーがスペースのメンバーになります。

すべての新しいメンバーがイベントをトリガーするわけではありません。詳細については、制限事項をご覧ください。

google.workspace.chat.membership.v1.created

space.membership

ユーザーのスペースのメンバーシップが更新されます。

google.workspace.chat.membership.v1.updated

space.membership

ユーザーがスペースの直接のメンバーから削除されます。

google.workspace.chat.membership.v1.deleted

space.membership

バッチ イベントタイプ(出力のみ)

登録したイベントタイプを受け取るだけでなく、 Chat アプリはバッチイベントを受信することもあります。バッチイベント 短期間に発生した同じタイプの多数のイベントを表すイベント 表示されます。バッチイベントのペイロードには、変更されたすべてのイベント 説明します。

たとえば、あるユーザーが同時にスペースに 20 人のユーザーを追加した場合、 Chat アプリがバッチイベントを受信することがある (google.workspace.chat.membership.v1.batchCreated)。イベント ペイロードに含まれるもの ユーザーの作成時に作成されたすべての新しい Membership リソースのリスト スペースにメンバーを追加しました。

登録するイベントタイプのバッチイベントを受信するため、 サブスクリプションの作成時にバッチ イベントを指定する必要はありません。対象 たとえば、ユーザーが Google Chat で (google.workspace.chat.reaction.v1.created)、お客様の Chat アプリは、バッチ リクエストを受け取るように自動的に構成されます。 リアクション イベント数(google.workspace.chat.reaction.v1.batchCreated)。

次の表に、サブスクリプションで発生する可能性のあるバッチイベントを示します。

バッチイベントタイプ 形式
複数のメッセージが投稿されています。

google.workspace.chat.message.v1.batchCreated

複数のメッセージが更新されました。

google.workspace.chat.message.v1.batchUpdated

複数のメールが削除されました。

google.workspace.chat.message.v1.batchDeleted

複数のリアクションが作成されます。

google.workspace.chat.reaction.v1.batchCreated

複数のリアクションが削除されました。

google.workspace.chat.reaction.v1.batchDeleted

サブスクライブしたスペースに複数のメンバーが追加されたか、サブスクライブしたユーザーが複数のスペースに追加されています。

google.workspace.chat.membership.v1.batchCreated

サブスクライブしたスペース、またはサブスクライブしたユーザーの複数のメンバーシップが更新される。

google.workspace.chat.membership.v1.batchUpdated

登録したスペースから複数のメンバーが削除された、または登録したユーザーが複数のスペースから削除された。

google.workspace.chat.membership.v1.batchDeleted

スペースに複数の更新があります。

google.workspace.chat.space.v1.batchUpdated

イベントデータ

このセクションでは、 チャット。

ご利用の Google Workspace サブスクリプションが Chat では、 data フィールドにはイベントのペイロードが含まれます。このペイロードには、インスタンスに関する情報と、 変更された Google Workspace リソース。たとえば、 スペースでグループ化すると、そのイベントのペイロードには 概要 spaces.membership リソースです。

イベント ペイロード内のリソースデータ

サブスクリプションを作成するときに、ペイロードを リソースの詳細、またはリソースの名前のみを含めることができます。対象 たとえば、Chat でメンバーに関するイベントを受け取る場合は、 スペースでは、メンバーシップ リソースのどのフィールドを 指定することもできます。

次の表に、サブスクリプションの JSON ペイロードの例 Chat スペース spaces/AAAABBBBBB。イベントごとに、 サブスクリプションが受信すると、ペイロードはイベントの data フィールドに表示されます。

イベントの種類 JSON ペイロード

ユーザーがスペースに「Hello world」というメッセージを投稿します。

google.workspace.chat.message.v1.created

リソースデータが含まれます
{
    "message":
    {
        "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD",
        "sender":
        {
            "name": "users/1234567890987654321",
            "type": "HUMAN"
        },
        "createTime": "2023-09-07T21:37:36.260127Z",
        "text": "Hello world",
        "thread":
        {
            "name": "spaces/AAAABBBBBB/threads/EEEEEEEEEEEE"
        },
        "space":
        {
            "name": "spaces/AAAABBBBBB"
        },
        "argumentText": "Hello world"
    }
}
      
リソースデータは除外されます
{
    "message":
    {
        "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD"
    }
}
      
ユーザーがスペースの管理者になります。

google.workspace.chat.membership.v1.updated

リソースデータが含まれます
{
    "membership":
    {
        "name": "spaces/AAAABBBBBB/members/1234567890987654321",
        "state": "JOINED",
        "member":
        {
            "name": "users/1234567890987654321",
            "type": "HUMAN"
        },
        "createTime": "1970-01-01T00:00:00Z",
        "role": "ROLE_MANAGER"
    }
}
      
リソースデータは除外されます
{
    "membership":
    {
        "name": "spaces/AAAABBBBBB/members/1234567890987654321"
    }
}
      
ユーザーがスペースの説明を「Cymbal Labs のセールスチーム」に更新します。 google.workspace.chat.space.v1.updated
リソースデータが含まれます
{
    "space":
    {
        "name": "spaces/AAAABBBBBB",
        "displayName": "Cymbal Sales",
        "spaceThreadingState": "THREADED_MESSAGES",
        "spaceType": "SPACE",
        "spaceDetails":
        {
            "description": "Sales team for Cymbal Labs."
        },
        "spaceHistoryState": "HISTORY_ON"
    }
}
      
リソースデータは除外されます
{
    "space":
    {
        "name": "spaces/AAAABBBBBB"
    }
}
      
同時に 2 人の Chat ユーザーがスペースに追加されている。 google.workspace.chat.membership.v1.batchCreated
リソースデータが含まれます
{
    "memberships": [
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/1234567890987654321",
            "state": "JOINED",
            "member":
            {
                "name": "users/1234567890987654321",
                "type": "HUMAN"
            },
            "createTime": "1970-01-01T00:00:00Z",
            "role": "ROLE_MEMBER"
          }
        },
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/987654321234567890",
            "state": "JOINED",
            "member":
            {
                "name": "users/987654321234567890",
                "type": "HUMAN"
            },
            "createTime": "1970-01-01T00:00:00Z",
            "role": "ROLE_MEMBER"
          }
        }
    ]
}
      
リソースデータは除外されます
{
    "memberships": [
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/1234567890987654321"
          }
        },
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/98765432123456789019"
          }
        }
    ]
}
      
ユーザーがメッセージに 😊? の絵文字でリアクションしました。 google.workspace.chat.reaction.v1.created
リソースデータが含まれます
{
    "reaction":
    {
        "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222",
        "user":
        {
            "name": "users/1234567890987654321",
            "type": "HUMAN"
        },
        "emoji":
        {
            "unicode": "😊"
        }
    }
}
      
リソースデータが省略されます
{
    "reaction":
    {
        "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222"
    }
}
      
ユーザーはメッセージに 😊? 絵文字と ✱ 絵文字でリアクションします。 google.workspace.chat.reaction.v1.batchCreated
リソースデータが含まれます
{
    "reactions": [
        {
          "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222",
            "user":
            {
                "name": "users/1234567890987654321",
                "type": "HUMAN"
            },
            "emoji":
            {
                "unicode": "😊"
            }
          }
        },
        {
          "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444",
            "user":
            {
                "name": "users/98765431234564321",
                "type": "HUMAN"
            },
            "emoji":
            {
                "unicode": "😸"
            }
          }
        }
    ]
}
      
リソースデータが省略されます
{
    "reactions": [
      {
        "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222"
        },
        "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444",
        }
      }
    ]
}
      

制限事項

  • ユーザーの登録、ダイレクト メッセージまたは名前のないグループ チャットの新規メンバーに関するイベント(google.workspace.chat.membership.v1.created) 最初のメッセージが投稿された後にのみトリガーされます。
  • メンバーシップ イベントを受け取るには、スペースに直接参加しているメンバーである必要があります。ユーザーを追加すると Google グループを通じてスペースへの間接的な更新、削除された場合、サブスクリプションは イベントを受け取りますGoogle グループ メンバーの仕組みについては、以下をご覧ください。 スペースに Google グループを追加する