Method: users.watch

Configura o actualiza una observación de notificaciones push en el buzón de correo del usuario determinado.

Solicitud HTTP

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

La URL usa la sintaxis de la transcodificación gRPC.

Parámetros de ruta

Parámetros
userId

string

La dirección de correo electrónico del usuario. Se puede usar el valor especial me para indicar el usuario autenticado.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Representación JSON
{
  "labelIds": [
    string
  ],
  "labelFilterAction": enum (LabelFilterAction),
  "labelFilterBehavior": enum (LabelFilterAction),
  "topicName": string
}
Campos
labelIds[]

string

Es la lista de labelIds sobre los que se restringirán las notificaciones. De forma predeterminada, si no se especifica, se envían todos los cambios. Si se especifica, indica qué etiquetas son necesarias para generar una notificación push.

labelFilterAction
(deprecated)

enum (LabelFilterAction)

Se especificó el comportamiento de filtrado de labelIds list. Este campo dejó de estar disponible porque causaba un comportamiento incorrecto en algunos casos. En su lugar, usa labelFilterBehavior.

labelFilterBehavior

enum (LabelFilterAction)

Se especificó el comportamiento de filtrado de labelIds list. Este campo reemplaza a labelFilterAction. Si se configura, se ignora labelFilterAction.

topicName

string

Es el nombre de tema de la API de Google Cloud Pub/Sub completamente calificado en el que se publicarán los eventos. Este nombre de tema debe existir en Cloud Pub/Sub y debes haber otorgado permiso de "publicación" a Gmail en él. Por ejemplo, "projects/my-project-identifier/topics/my-topic-name" (con el formato de nombres de temas "v1" de Cloud Pub/Sub).

Ten en cuenta que la parte "my-project-identifier" debe coincidir exactamente con el ID de tu proyecto de desarrollador de Google (el que ejecuta esta solicitud de observación).

Cuerpo de la respuesta

Respuesta del reloj a una notificación push.

Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:

Representación JSON
{
  "historyId": string,
  "expiration": string
}
Campos
historyId

string

Es el ID del registro de historial actual del buzón.

expiration

string (int64 format)

Fecha y hora en la que Gmail dejará de enviar notificaciones sobre las actualizaciones del buzón (en milisegundos desde la época). Vuelve a llamar a watch antes de este momento para renovar el reloj.

Permisos de autorización

Se necesita uno de los siguientes permisos 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 obtener más información, consulta OAuth 2.0 Overview.

LabelFilterAction

Se especifica el comportamiento de filtrado de la lista de labelIds.

Enums
include Solo recibe notificaciones push sobre los cambios en los mensajes relacionados con los labelIds especificados.
exclude Recibe notificaciones push sobre todos los cambios en los mensajes, excepto los relacionados con los labelIds especificados.