Method: users.watch

지정된 사용자 메일함에서 푸시 알림 감시를 설정하거나 업데이트합니다.

HTTP 요청

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

URL은 gRPC 트랜스코딩 구문을 사용합니다.

경로 매개변수

매개변수
userId

string

사용자의 이메일 주소 특수 값 me을 사용하여 인증된 사용자를 나타낼 수 있습니다.

요청 본문

요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.

JSON 표현
{
  "labelIds": [
    string
  ],
  "labelFilterAction": enum (LabelFilterAction),
  "labelFilterBehavior": enum (LabelFilterAction),
  "topicName": string
}
필드
labelIds[]

string

알림을 제한할 labelIds 목록입니다. 기본적으로 지정되지 않은 경우 모든 변경사항이 푸시됩니다. 지정된 경우 푸시 알림을 생성하는 데 필요한 라벨을 지정합니다.

labelFilterAction
(deprecated)

enum (LabelFilterAction)

labelIds list의 필터링 동작이 지정되었습니다. 이 필드는 일부 경우에 잘못된 동작을 유발하므로 지원 중단되었습니다. 대신 labelFilterBehavior를 사용하세요.

labelFilterBehavior

enum (LabelFilterAction)

labelIds list의 필터링 동작이 지정되었습니다. 이 필드는 labelFilterAction를 대체합니다. 설정된 경우 labelFilterAction는 무시됩니다.

topicName

string

이벤트를 게시할 정규화된 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와 정확히 일치해야 합니다.

응답 본문

푸시 알림 시계 응답

성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.

JSON 표현
{
  "historyId": string,
  "expiration": string
}
필드
historyId

string

메일함의 현재 기록 레코드 ID입니다.

expiration

string (int64 format)

Gmail에서 사서함 업데이트 알림을 전송하지 않는 시점 (에포크 밀리초)입니다. 이 시간 전에 watch를 다시 호출하여 워치를 갱신하세요.

승인 범위

다음 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

자세한 내용은 OAuth 2.0 Overview를 참조하세요.

LabelFilterAction

지정된 labelIds 목록의 필터링 동작

열거형
include 지정된 labelIds와 관련된 메시지 변경사항에 대한 푸시 알림만 받습니다.
exclude 지정된 labelIds와 관련된 변경사항을 제외한 모든 메시지 변경사항에 대한 푸시 알림을 가져옵니다.