Method: users.watch

指定したユーザーのメールボックスでプッシュ通知のウォッチを設定または更新します。

HTTP リクエスト

POST https://gmail.googleapis.com/gmail/v1/users/{userId}/watch

この URL は gRPC Transcoding 構文を使用します。

パスパラメータ

パラメータ
userId

string

ユーザーのメールアドレス。特別な値 me を使用して、認証済みユーザーを示すことができます。

リクエスト本文

リクエストの本文には、次の構造のデータが含まれます。

JSON 表現
{
  "labelIds": [
    string
  ],
  "labelFilterAction": enum (LabelFilterAction),
  "labelFilterBehavior": enum (LabelFilterAction),
  "topicName": string
}
フィールド
labelIds[]

string

通知を制限する labelId のリスト。デフォルトでは、指定しない場合、すべての変更がプッシュされます。指定すると、プッシュ通知の生成に必要なラベルが決まります。

labelFilterAction
(deprecated)

enum (LabelFilterAction)

labelIds list のフィルタリング動作が指定されました。このフィールドは、場合によって誤った動作を引き起こすため、非推奨になりました。代わりに labelFilterBehavior を使用してください。

labelFilterBehavior

enum (LabelFilterAction)

labelIds list のフィルタリング動作が指定されました。このフィールドは labelFilterAction に代わるものです。設定した場合、labelFilterAction は無視されます。

topicName

string

イベントのパブリッシュ先の Google Cloud Pub/Sub API トピックの完全修飾名。このトピック名は、Cloud Pub/Sub にすでに存在している必要があります。また、Gmail の「publish」をすでに付与している必要があります。許可する必要があります。例: projects/my-project-identifier/topics/my-topic-name(Cloud Pub/Sub の「v1」トピック命名形式を使用)。

なお、「my-project-identifier」はの部分は、Google デベロッパー プロジェクト ID(このウォッチ リクエストを実行するプロジェクト ID)と完全に一致している必要があります。

レスポンスの本文

プッシュ通知のウォッチ レスポンス。

成功した場合、レスポンスの本文には次の構造のデータが含まれます。

JSON 表現
{
  "historyId": string,
  "expiration": string
}
フィールド
historyId

string

メールボックスの現在の履歴レコードの ID。

expiration

string (int64 format)

Gmail でメールボックスの更新通知の送信を停止するタイミング(エポックミリ秒)。この時間までに再度 watch を呼び出して、スマートウォッチを更新してください。

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://mail.google.com/
  • https://www.googleapis.com/auth/gmail.modify
  • https://www.googleapis.com/auth/gmail.readonly
  • https://www.googleapis.com/auth/gmail.metadata

詳細については、承認ガイドをご覧ください。

LabelFilterAction

labelIds リストのフィルタ動作が指定されました。

列挙型
include 指定された labelIds に関連するメッセージの変更についてのみプッシュ通知を受け取ります。
exclude 指定した labelId に関連するものを除き、すべてのメッセージの変更についてプッシュ通知を受け取ります。