Method: users.watch

指定されたユーザーのメールボックスでプッシュ通知の監視を設定または更新します。詳細については、Gmail API でプッシュ通知を構成するをご覧ください。

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

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

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(この watch リクエストを実行する 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 指定された labelIds に関連するメッセージの変更を除く、すべてのメッセージの変更に関するプッシュ通知を受け取ります。