WebhookNotification

リソースが更新されたときに Google Analytics Data API から webhook サーバーに webhook 通知を送信するように、長時間実行オペレーション リソースを構成します。

通知構成には非公開の値が含まれ、GCP プロジェクトにのみ表示されます。異なる GCP プロジェクトが、同じ長時間実行オペレーション リソースに異なる Webhook 通知を接続する場合があります。

JSON 表現
{
  "uri": string,
  "channelToken": string
}
フィールド
uri

string

省略可。Webhook 通知を受信するウェブアドレス。このアドレスには、長時間実行オペレーション リソースの状態が変化するたびに POST リクエストが送信されます。POST リクエストの本文には、長時間実行オペレーション リソースの JSON バージョンと sentTimestamp フィールドの両方が含まれます。送信されたタイムスタンプには、リクエストが送信されたエポックからの UNIX マイクロ秒が指定されます。これにより、リプレイされた通知を識別できます。

URI の例は https://us-central1-example-project-id.cloudfunctions.net/example-function-1 です。

URI は HTTPS を使用し、ウェブサーバーに有効な SSL 証明書があるサイトを参照している必要があります。URI の文字列の最大長は 128 文字で、RFC 1738 の許可リストに登録されている文字のみを使用する必要があります。

Webhook サーバーは、通知を受信すると、5 秒以内に HTTP レスポンス ステータス コード 200 で応答することが求められます。

Webhook 通知を使用するには URI が必要です。

この Webhook サーバーへのリクエストには、サービス アカウント google-analytics-audience-export@system.gserviceaccount.com を認証する ID トークンが含まれます。ID トークンの詳細については、https://cloud.google.com/docs/authentication/token-types#id をご覧ください。Google Cloud Functions では、認証を必要とする関数を構成できます。Cloud IAM で、Webhook の POST リクエストが Google Cloud Functions の認証に合格するように、サービス アカウントに Cloud Run 起動元(roles/run.invoker)ロールと Cloud Functions 起動元(roles/cloudfunctions.invoker)ロールの権限を付与する必要があります。この API は任意の URI に Webhook 通知を送信できます。Google Cloud Functions 以外の Webhook サーバーの場合、認可ベアラ ヘッダーのこの ID トークンは、必要ない場合は無視する必要があります。

channelToken

string

省略可。チャンネル トークンは任意の文字列値で、文字列の最大長は 64 文字にする必要があります。チャンネル トークンを使用すると、Webhook 通知の送信元を確認できます。これにより、メッセージのなりすましを防ぐことができます。チャネル トークンは、Webhook POST リクエストの X-Goog-Channel-Token HTTP ヘッダーで指定します。

webhook 通知を使用するのにチャンネル トークンは必要ありません。