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 のリスト。デフォルトでは、指定しない場合、すべての変更が push されます。指定すると、プッシュ通知の生成に必要なラベルを指定します。

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