REST Resource: subscriptions

リソースのサブスクリプション

Google Workspace リソースに関するイベントを受け取るためのサブスクリプション。サブスクリプションについて詳しくは、Google Workspace Events API の概要をご覧ください。

JSON 表現
{
  "name": string,
  "uid": string,
  "targetResource": string,
  "eventTypes": [
    string
  ],
  "payloadOptions": {
    object (PayloadOptions)
  },
  "notificationEndpoint": {
    object (NotificationEndpoint)
  },
  "state": enum (State),
  "suspensionReason": enum (ErrorType),
  "authority": string,
  "createTime": string,
  "updateTime": string,
  "reconciling": boolean,
  "etag": string,

  // Union field expiration can be only one of the following:
  "expireTime": string,
  "ttl": string
  // End of list of possible types for union field expiration.
}
フィールド
name

string

省略可。変更不可。ID。サブスクリプションのリソース名。

形式: subscriptions/{subscription}

uid

string

出力専用。システムによってサブスクリプションに割り当てられた一意の識別子。

targetResource

string

必須。変更不可。イベントについてモニタリングされる Google Workspace リソース(完全なリソース名の形式)。ターゲット リソースとそれらがサポートするイベントについては、サポートされている Google Workspace イベントをご覧ください。

ユーザーは、特定のターゲット リソースに対して 1 つのサブスクリプションのみを作成することをアプリに許可できます。アプリが同じユーザー認証情報で別のサブスクリプションを作成しようとすると、そのリクエストは ALREADY_EXISTS エラーを返します。

eventTypes[]

string

必須。変更不可。順序なしリスト。サブスクリプションを作成するための入力。それ以外の場合は、出力のみ。ターゲット リソースについて受信するイベントのタイプ(複数可)。CloudEvents 仕様に沿った形式。

サポートされるイベントタイプは、サブスクリプションの対象リソースによって異なります。詳しくは、サポートされる Google Workspace イベントをご覧ください。

デフォルトでは、定期購入のライフサイクルに関するイベントも受け取ります。このフィールドにライフサイクル イベントを指定する必要はありません。

ターゲット リソースに存在しないイベントタイプを指定すると、リクエストは HTTP 400 Bad Request ステータス コードを返します。

payloadOptions

object (PayloadOptions)

省略可。イベント ペイロードに含めるデータに関するオプション。Google Chat のイベントでのみサポートされています。

notificationEndpoint

object (NotificationEndpoint)

必須。変更不可。サブスクリプションがイベントを配信するエンドポイント(Pub/Sub トピックなど)。

state

enum (State)

出力専用。サブスクリプションの状態。サブスクリプションがイベントを受信して通知エンドポイントに配信できるかどうかを決定します。

suspensionReason

enum (ErrorType)

出力専用。サブスクリプションを一時停止したエラー。

定期購入を再度有効にするには、エラーを解決して subscriptions.reactivate メソッドを呼び出します。

authority

string

出力専用。サブスクリプションの作成を承認したユーザー。

形式: users/{user}

Google Workspace ユーザーの場合、{user} の値は Directory API の user.id フィールドです。

createTime

string (Timestamp format)

出力専用。サブスクリプションが作成された時刻。

updateTime

string (Timestamp format)

出力専用。定期購入が最後に更新された時刻。

reconciling

boolean

出力専用。true の場合、サブスクリプションは更新中です。

etag

string

省略可。このチェックサムは、他のフィールドの値に基づいてサーバーによって計算され、続行する前にクライアントが最新の値を持っていることを確認するために、更新リクエスト時に送信されることもあります。

共用体フィールド expiration。サブスクリプションが期限切れになる時刻。

最大有効期限は、サブスクリプションのイベント ペイロード(PayloadOptions フィールドで指定)にリソースデータが含まれているかどうかによって異なります。

  • ペイロードでリソースデータが省略されている場合は、最長で 7 日間。
  • ペイロードにリソースデータが含まれる場合は最大で 4 時間。Google Workspace 組織がドメイン全体の委任によってリソースへのアクセスを許可している場合、サブスクリプションの有効期限を最大 24 時間まで延長できます。

サブスクリプションの有効期限が切れると、自動的に削除されます。ライフサイクル イベントは、サブスクリプションが期限切れになる 12 時間前と 1 時間前に notification_endpoint に送信されます。詳しくは、ライフサイクル イベントを受信して応答するをご覧ください。

定期購入が期限切れにならないようにするには、UpdateSubscription メソッドを使用して有効期限を延長します。詳しくは、定期購入の更新をご覧ください。expiration は次のいずれかになります。

expireTime

string (Timestamp format)

空でないデフォルト。サブスクリプションが期限切れになるときのタイムスタンプ(UTC)。入力に使用された内容に関係なく、常に出力に表示されます。

ttl

string (Duration format)

入力のみのサブスクリプションの有効期間(TTL)または期間。指定しないか 0 に設定した場合、指定可能な最長時間が使用されます。

PayloadOptions

イベント ペイロードに含めるデータに関するオプション。Google Chat のイベントでのみサポートされています。

JSON 表現
{
  "includeResource": boolean,
  "fieldMask": string
}
フィールド
includeResource

boolean

省略可。変更されたリソースに関するデータがイベント ペイロードに含まれているかどうか。たとえば、Google Chat メッセージが作成されたイベントの場合、ペイロードに Message リソースに関するデータが含まれているかどうかがわかります。false の場合、イベント ペイロードには変更されたリソースの名前のみが含まれます。

fieldMask

string (FieldMask format)

省略可。includeResourcetrue に設定されている場合、イベント ペイロードに含めるフィールドのリスト。フィールドはカンマで区切ってください。たとえば、Google Chat メッセージの送信者と作成時刻を含めるには「message.sender,message.createTime」と入力します。省略した場合、ペイロードにはリソースのすべてのフィールドが含まれます。

存在しないフィールドを指定した場合、そのフィールドは無視されます。

NotificationEndpoint

サブスクリプションがイベントを配信するエンドポイント。

JSON 表現
{

  // Union field endpoint can be only one of the following:
  "pubsubTopic": string
  // End of list of possible types for union field endpoint.
}
フィールド

共用体フィールド endpoint

endpoint は次のいずれかになります。

pubsubTopic

string

変更不可。サブスクリプションのイベントを受け取る Cloud Pub/Sub トピック。

形式: projects/{project}/topics/{topic}

トピックは、このサブスクリプションを作成する Google Cloud プロジェクトに作成する必要があります。

トピックがイベントを受信すると、イベントは Cloud Pub/Sub メッセージとしてエンコードされます。詳しくは、CloudEvents の Google Cloud Pub/Sub プロトコル バインディングをご覧ください。

定期購入のステータス。

列挙型
STATE_UNSPECIFIED デフォルト値。この値は使用されません。
ACTIVE サブスクリプションは有効で、イベントを受信して通知エンドポイントに配信できます。
SUSPENDED エラーのため、サブスクリプションがイベントを受信できません。エラーを特定するには、suspensionReason フィールドを確認します。
DELETED サブスクリプションが削除されます。

ErrorType

サブスクリプションで起こり得るエラー。

列挙型
ERROR_TYPE_UNSPECIFIED デフォルト値。この値は使用されません。
USER_SCOPE_REVOKED 承認ユーザーが 1 つ以上の OAuth スコープの付与を取り消しました。Google Workspace の承認について詳しくは、OAuth 同意画面を構成するをご覧ください。
RESOURCE_DELETED サブスクリプションのターゲット リソースが存在しません。
USER_AUTHORIZATION_FAILURE サブスクリプションの作成を承認したユーザーが、サブスクリプションのターゲット リソースにアクセスできなくなります。
ENDPOINT_PERMISSION_DENIED Google Workspace アプリケーションには、サブスクリプションの通知エンドポイントにイベントを配信するためのアクセス権がありません。
ENDPOINT_NOT_FOUND サブスクリプションの通知エンドポイントが存在しないか、サブスクリプションを作成した Google Cloud プロジェクトにエンドポイントがありません。
ENDPOINT_RESOURCE_EXHAUSTED 割り当てが不足しているか、レート制限に達したため、サブスクリプションの通知エンドポイントでイベントを受信できませんでした。
OTHER 不明なエラーが発生しました。

メソッド

create

Google Workspace サブスクリプションを作成する。

delete

Google Workspace サブスクリプションを削除します。

get

Google Workspace サブスクリプションの詳細を取得します。

list

Google Workspace サブスクリプションを一覧表示します。

patch

Google Workspace サブスクリプションを更新または更新する。

reactivate

停止中の Google Workspace サブスクリプションを再有効化します。