在给定的用户邮箱上设置或更新推送通知手表。
HTTP 请求
POST https://gmail.googleapis.com/gmail/v1/users/{userId}/watch
网址采用 gRPC 转码语法。
路径参数
参数 | |
---|---|
userId |
用户的电子邮件地址。特殊值 |
请求正文
请求正文中包含结构如下的数据:
JSON 表示法 |
---|
{ "labelIds": [ string ], "labelFilterAction": enum ( |
字段 | |
---|---|
labelIds[] |
用于限制其通知的 labelId 列表。默认情况下,如果未指定,所有更改都会推送。如果指定,则指明需要哪些标签才能生成推送通知。 |
labelFilterAction |
指定了 |
labelFilterBehavior |
指定了 |
topicName |
将事件发布到的完全限定 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 |
邮箱当前历史记录的 ID。 |
expiration |
Gmail 何时停止发送邮箱更新通知(纪元毫秒)。请在这段时间内再次调用 |
授权范围
需要以下 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
指定的 labelId 列表的过滤行为。
枚举 | |
---|---|
include |
仅接收与指定的 labelId 相关的消息变更的推送通知。 |
exclude |
接收所有消息更改(与指定的 labelId 相关的更改除外)的推送通知。 |