Method: users.watch
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Menyiapkan atau memperbarui pemantauan notifikasi push di kotak surat pengguna tertentu.
Permintaan HTTP
POST https://gmail.googleapis.com/gmail/v1/users/{userId}/watch
URL menggunakan sintaksis gRPC Transcoding.
Parameter jalur
Parameter |
userId |
string
Alamat email pengguna. Nilai khusus me dapat digunakan untuk menunjukkan pengguna yang diautentikasi.
|
Isi permintaan
Isi permintaan memuat data dengan struktur berikut:
Kolom |
labelIds[] |
string
Daftar labelId untuk membatasi notifikasi. Secara default, jika tidak ditentukan, semua perubahan akan di-push. Jika ditentukan, label mana yang diperlukan untuk membuat notifikasi push akan ditentukan.
|
labelFilterAction (deprecated) |
enum (LabelFilterAction )
Perilaku pemfilteran labelIds list ditentukan. Kolom ini tidak digunakan lagi karena menyebabkan perilaku yang salah dalam beberapa kasus; sebagai gantinya, gunakan labelFilterBehavior .
|
labelFilterBehavior |
enum (LabelFilterAction )
Perilaku pemfilteran labelIds list ditentukan. Kolom ini menggantikan labelFilterAction ; jika ditetapkan, labelFilterAction akan diabaikan.
|
topicName |
string
Nama topik Google Cloud Pub/Sub API yang sepenuhnya memenuhi syarat untuk memublikasikan peristiwa. Nama topik ini harus sudah ada di Cloud Pub/Sub dan Anda harus telah memberikan izin "publikasi" gmail di dalamnya. Misalnya, "projects/my-project-identifier/topics/my-topic-name" (menggunakan format penamaan topik Cloud Pub/Sub "v1"). Perhatikan bahwa bagian "my-project-identifier" harus sama persis dengan project ID developer Google Anda (yang menjalankan permintaan smartwatch ini).
|
Isi respons
Respons smartwatch notifikasi push.
Jika berhasil, isi respons memuat data dengan struktur berikut:
Representasi JSON |
{
"historyId": string,
"expiration": string
} |
Kolom |
historyId |
string
ID kumpulan data histori kotak surat saat ini.
|
expiration |
string (int64 format)
Kapan Gmail akan berhenti mengirim notifikasi untuk pembaruan kotak surat (epoch millis). Panggil watch lagi sebelum waktu ini untuk memperpanjang smartwatch.
|
Cakupan otorisasi
Memerlukan salah satu cakupan OAuth berikut:
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
Untuk mengetahui informasi selengkapnya, lihat Panduan otorisasi.
LabelFilterAction
Perilaku pemfilteran daftar labelIds ditentukan.
Enum |
include |
Hanya mendapatkan notifikasi push untuk perubahan pesan yang terkait dengan labelIds yang ditentukan. |
exclude |
Mendapatkan notifikasi push untuk semua perubahan pesan kecuali yang terkait dengan labelIds yang ditentukan. |
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-25 UTC.
[null,null,["Terakhir diperbarui pada 2025-07-25 UTC."],[],[],null,["# Method: users.watch\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Request body](#body.request_body)\n - [JSON representation](#body.request_body.SCHEMA_REPRESENTATION)\n- [Response body](#body.response_body)\n - [JSON representation](#body.WatchResponse.SCHEMA_REPRESENTATION)\n- [Authorization scopes](#body.aspect)\n- [LabelFilterAction](#LabelFilterAction)\n\nSet up or update a push notification watch on the given user mailbox.\n\n### HTTP request\n\n`POST https://gmail.googleapis.com/gmail/v1/users/{userId}/watch`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n| Parameters ||\n|----------|-----------------------------------------------------------------------------------------------------------|\n| `userId` | `string` The user's email address. The special value `me` can be used to indicate the authenticated user. |\n\n### Request body\n\nThe request body contains data with the following structure:\n\n| JSON representation |\n|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"labelIds\": [ string ], \"labelFilterAction\": enum (/workspace/gmail/api/reference/rest/v1/users/watch#LabelFilterAction), \"labelFilterBehavior\": enum (/workspace/gmail/api/reference/rest/v1/users/watch#LabelFilterAction), \"topicName\": string } ``` |\n\n| Fields ||\n|--------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `labelIds[]` | `string` List of labelIds to restrict notifications about. By default, if unspecified, all changes are pushed out. If specified then dictates which labels are required for a push notification to be generated. |\n| `labelFilterAction` **(deprecated)** | `enum (`[LabelFilterAction](/workspace/gmail/api/reference/rest/v1/users/watch#LabelFilterAction)`)` Filtering behavior of `labelIds list` specified. This field is deprecated because it caused incorrect behavior in some cases; use `labelFilterBehavior` instead. |\n| `labelFilterBehavior` | `enum (`[LabelFilterAction](/workspace/gmail/api/reference/rest/v1/users/watch#LabelFilterAction)`)` Filtering behavior of `labelIds list` specified. This field replaces `labelFilterAction`; if set, `labelFilterAction` is ignored. |\n| `topicName` | `string` A fully qualified Google Cloud Pub/Sub API topic name to publish the events to. This topic name **must** already exist in Cloud Pub/Sub and you **must** have already granted gmail \"publish\" permission on it. For example, \"projects/my-project-identifier/topics/my-topic-name\" (using the Cloud Pub/Sub \"v1\" topic naming format). Note that the \"my-project-identifier\" portion must exactly match your Google developer project id (the one executing this watch request). |\n\n### Response body\n\nPush notification watch response.\n\nIf successful, the response body contains data with the following structure:\n\n| JSON representation |\n|-------------------------------------------------------|\n| ``` { \"historyId\": string, \"expiration\": string } ``` |\n\n| Fields ||\n|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `historyId` | `string` The ID of the mailbox's current history record. |\n| `expiration` | `string (`[int64](https://developers.google.com/discovery/v1/type-format)` format)` When Gmail will stop sending notifications for mailbox updates (epoch millis). Call `watch` again before this time to renew the watch. |\n\n### Authorization scopes\n\nRequires one of the following OAuth scopes:\n\n- `https://mail.google.com/`\n- `\n https://www.googleapis.com/auth/gmail.modify`\n- `\n https://www.googleapis.com/auth/gmail.readonly`\n- `\n https://www.googleapis.com/auth/gmail.metadata`\n\nFor more information, see the [Authorization guide](/workspace/guides/configure-oauth-consent).\n\nLabelFilterAction\n-----------------\n\nFiltering behavior of labelIds list specified.\n\n| Enums ||\n|-----------|---------------------------------------------------------------------------------------------|\n| `include` | Only get push notifications for message changes relating to labelIds specified. |\n| `exclude` | Get push notifications for all message changes except those relating to labelIds specified. |"]]