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 未確認のエラーが発生しました。

メソッド

create

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

delete

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

get

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

list

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

patch

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

reactivate

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