Method: users.watch

Configure ou atualize um relógio de notificação push na caixa de e-mails do usuário. Para mais informações, consulte Configurar notificações push na API Gmail.

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 para restringir notificações. Por padrão, se não especificado, todas as mudanças são enviadas. Se especificado, indica quais rótulos são necessários para gerar uma notificação push.

labelFilterAction
(deprecated)

enum (LabelFilterAction)

Comportamento de filtragem da labelIds list especificada. Esse campo foi descontinuado porque causava comportamento incorreto em alguns casos. Use labelFilterBehavior.

labelFilterBehavior

enum (LabelFilterAction)

Comportamento de filtragem da labelIds list especificada. Esse campo substitui labelFilterAction. Se definido, labelFilterAction será ignorado.

topicName

string

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

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

Corpo da resposta

Resposta de observação de 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 de histórico atual da caixa de correio.

expiration

string (int64 format)

Quando o Gmail vai parar de enviar notificações para atualizações de caixa de e-mails (millis da época). Chame watch novamente antes desse horário para renovar a observação.

Escopos de autorização

Requer um dos seguintes escopos do 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 de labelIds especificada.

Tipos enumerados
include Receber notificações push apenas para mudanças de mensagens relacionadas aos labelIds especificados.
exclude Receber notificações push para todas as mudanças de mensagens, exceto aquelas relacionadas aos labelIds especificados.