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 subscription_options can be only one of the following:
  "driveOptions": {
    object (DriveOptions)
  }
  // End of list of possible types for union field subscription_options.

  // 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 と Google ドライブのイベントでのみサポートされています。

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

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

共用体フィールド subscription_options。Google Workspace サブスクリプションの特定のターゲット リソースで利用できる追加のサブスクリプション オプション。subscription_options は次のいずれかになります。
driveOptions

object (DriveOptions)

省略可。ドライブ リソースのサブスクリプションでのみサポートされている機能。

共用体フィールド expiration。サブスクリプションの有効期限。

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

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

定期購入の有効期限が切れると、自動的に削除されます。定期購入の有効期限が切れる 12 時間前と 1 時間前に、ライフサイクル イベントが notification_endpoint に送信されます。詳しくは、ライフサイクル イベントを受け取って対応するをご覧ください。

サブスクリプションの有効期限が切れないようにするには、UpdateSubscription メソッドを使用して有効期限を延長します。詳しくは、サブスクリプションを更新または更新するをご覧ください。expiration は次のいずれかになります。

expireTime

string (Timestamp format)

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

ttl

string (Duration format)

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

DriveOptions

ドライブ イベントの配信でサポートされるオプションが追加されました。

JSON 表現
{
  "includeDescendants": boolean
}
フィールド
includeDescendants

boolean

省略可。変更不可。Google ドライブ イベントのサブスクリプションで、ターゲット フォルダまたは共有ドライブの子であるドライブ ファイルに関するイベントを受信するかどうか。

  • false の場合、サブスクリプションは targetResource として指定されたフォルダまたは共有ドライブの変更に関するイベントのみを受信します。
  • true の場合、file リソースの mimeType フィールドは application/vnd.google-apps.folder に設定する必要があります。

詳しくは、Google ドライブのイベントタイプをご覧ください。

PayloadOptions

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

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

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

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

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

注: Google Workspace Events API は、順次イベントのメリットを活かすために順序キーを使用します。最も近い Google Cloud リージョンを除外するようにメッセージ ストレージ ポリシーが構成されている Cloud Pub/Sub トピックがある場合、順序指定キーを使用してイベントをパブリッシュすると失敗します。

トピックがイベントを受信すると、イベントは 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 サブスクリプションを再び有効にします。