Method: users.watch

Configure ou atualize um relógio de notificações push na caixa de e-mails específica do usuário.

Solicitação HTTP

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

O URL usa a sintaxe de transcodificação gRPC.

Parâmetros de caminho

Parâmetros
userId

string

O endereço de e-mail do usuário. O valor especial me pode ser usado para indicar o usuário autenticado.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{
  "labelIds": [
    string
  ],
  "labelFilterAction": enum (LabelFilterAction),
  "labelFilterBehavior": enum (LabelFilterAction),
  "topicName": string
}
Campos
labelIds[]

string

Lista de labelIds sobre os quais as notificações serão restritas. Por padrão, se não for especificado, todas as mudanças serão enviadas. Se especificado, determina quais identificadores são necessários para que uma notificação push seja gerada.

labelFilterAction
(deprecated)

enum (LabelFilterAction)

Comportamento de filtragem de labelIds list especificado. O uso desse campo foi descontinuado porque causava um comportamento incorreto em alguns casos. Use labelFilterBehavior.

labelFilterBehavior

enum (LabelFilterAction)

Comportamento de filtragem de labelIds list especificado. Esse campo substitui labelFilterAction. Se definido, labelFilterAction é ignorado.

topicName

string

Um nome de tópico totalmente qualificado da API Google Cloud Pub/Sub para onde publicar os eventos. Esse nome de tópico precisa existir no Cloud Pub/Sub e você precisa ter concedido a permissão "publicar" do Gmail nele. Por exemplo, "projects/my-project-identifier/topics/my-topic-name" (usando o formato de nomeação de tópicos "v1" do Cloud Pub/Sub).

A parte "my-project-identifier" precisa corresponder exatamente ao ID do projeto de desenvolvedor do Google (aquele que executa a solicitação do relógio).

Corpo da resposta

Resposta do relógio por notificação push.

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação JSON
{
  "historyId": string,
  "expiration": string
}
Campos
historyId

string

O ID do registro do histórico atual da caixa de e-mails.

expiration

string (int64 format)

Quando o Gmail deixará de enviar notificações de atualizações da caixa de e-mails (época em milissegundos). Chame watch novamente antes desse período para renovar o relógio.

Escopos de autorização

Requer um dos seguintes escopos de 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

Para mais informações, consulte o Guia de autorização.

LabelFilterAction

Comportamento de filtragem da lista labelIds especificada.

Enums
include Receber notificações push apenas de mudanças de mensagens relacionadas aos labelIds especificados.
exclude Receba notificações push sobre todas as mudanças de mensagens, exceto aquelas relacionadas aos labelIds especificados.