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 に「公開」権限をすでに付与している必要があります。たとえば、「projects/my-project-identifier/topics/my-topic-name」(Cloud Pub/Sub の「v1」トピック命名形式を使用)。

「my-project-identifier」の部分は、Google デベロッパー プロジェクト 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

詳細については、OAuth 2.0 Overview をご覧ください。

LabelFilterAction

指定された labelIds リストのフィルタリング動作。

列挙型
include 指定された labelIds に関連するメッセージの変更に関するプッシュ通知のみを取得します。
exclude 指定された labelIds に関連するものを除くすべてのメッセージの変更に関するプッシュ通知を取得します。