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

必須。変更不可。順序なしリスト。サブスクリプションを作成するための入力。それ以外の場合は、出力のみ。ターゲット リソースについて受信する 1 つ以上のイベントタイプ。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 不明なエラーが発生しました。

Methods

create

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

delete

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

get

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

list

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

patch

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

reactivate

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