Method: users.watch

Configure ou atualize um relógio de notificações push na caixa de e-mails 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 você quer restringir notificações. Por padrão, se não for especificado, todas as alterações serão enviadas. Se especificado, determina quais rótulos são necessários para que uma notificação push seja gerada.

labelFilterAction
(deprecated)

enum (LabelFilterAction)

Comportamento de filtragem de labelIds list especificado. Esse campo foi descontinuado porque causou 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 será ignorado.

topicName

string

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

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

Corpo da resposta

Resposta do relógio a 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 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 labelIds especificada.

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