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),
  "topicName": string
}
필드
labelIds[]

string

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

labelFilterAction

enum (LabelFilterAction)

labelIds 목록의 필터링 동작이 지정되었습니다.

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 (이 감시 요청을 실행하는 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

자세한 내용은 승인 가이드를 참고하세요.

라벨 필터 작업

labelIds 목록의 필터링 동작이 지정되었습니다.

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