Halaman ini menjelaskan peristiwa Google Chat yang dilakukan aplikasi Google Chat dapat berlangganan untuk menggunakan Google Workspace Events API. Setelah Anda memutuskan yang Anda perlukan, buat langganan untuk mulai menerima peristiwa dari Google Chat.
Selain berlangganan peristiwa, Anda juga dapat membuat kueri untuk peristiwa dengan memanggil Chat API. Memanggil Chat API memungkinkan Anda mengambil data peristiwa secara berkala, atau mengejar pada peristiwa yang mungkin Anda lewatkan dari langganan karena pemadaman layanan. Untuk mempelajari cara menerima dan merespons peristiwa Chat, lihat Bekerja dengan acara dari Google Chat di Dokumentasi Chat.
Peristiwa Chat yang didukung
Langganan Google Workspace memungkinkan Anda menerima peristiwa terkait jenis perubahan berikut di Chat:
- Pesan baru, diperbarui, atau dihapus yang besar.
- Reaksi baru atau yang dihapus pada pesan.
- Anggota yang baru, diperbarui, atau dihapus yang besar.
- Perubahan pada ruang langganan Anda, misalnya deskripsi atau nama ruang yang diperbarui.
Resource yang dapat Anda pantau untuk mengetahui peristiwa
Untuk menerima peristiwa, Anda menentukan resource Chat yang akan dipantau, yang disebut resource target langganan.
Google Workspace Events API mendukung resource target berikut untuk Chat:
Resource target | Format | Batasan |
---|---|---|
Spasi |
dengan SPACE adalah ID di
nama resource resource |
Pengguna Chat yang memberi otorisasi langganan harus menjadi anggota ruang melalui fitur Google Workspace atau menggunakan Akun Layanan Anda. |
Semua ruang untuk pengguna |
|
Langganan hanya menerima peristiwa untuk ruang tempat pengguna berada anggota melalui Google Workspace atau Akun Google mereka. |
Pengguna |
dengan USER adalah ID di
nama resource resource |
Langganan hanya menerima peristiwa tentang pengguna yang mengesahkan langganan. Pengguna tidak dapat mengizinkan langganan di nama pengguna lain. |
Jenis peristiwa untuk membuat langganan
Saat membuat langganan, Anda menggunakan
eventTypes[]
untuk menentukan jenis peristiwa yang ingin Anda terima. Jenis peristiwa adalah
diformat sesuai spesifikasi CloudEvents, seperti
google.workspace.APPLICATION.RESOURCE.VERSION.ACTION
.
Misalnya, untuk menerima peristiwa tentang pengguna yang bergabung ke Chat
Anda menentukan ruang sebagai resource target dan jenis peristiwa sebagai
google.workspace.chat.membership.v1.created
. Untuk menerima peristiwa tentang suatu
pengguna yang bergabung ke ruang mana pun, Anda menentukan pengguna sebagai resource target, dan
jenis peristiwa sebagai google.workspace.chat.membership.v1.created
. Untuk mempelajari lebih lanjut tentang
cara kerja peristiwa, lihat Struktur Google Workspace
peristiwa.
Tabel berikut menampilkan jenis peristiwa yang didukung untuk langganan ke ruang dan langganan untuk pengguna. Untuk mempelajari tentang pengecualian mengenai mengetahui hal yang memicu peristiwa, lihat Batasan.
Jenis peristiwa | Format | Data resource | ||
---|---|---|---|---|
Langganan ruang | ||||
Pesan diposting. |
|
|
||
Pesan diperbarui. |
|
|
||
Pesan dihapus. |
|
|
||
Reaksi dibuat. |
|
|
||
Reaksi dihapus. |
|
|
||
Anggota ditambahkan ke ruang. |
|
|
||
Anggota diperbarui di ruang. |
|
|
||
Anggota akan dihapus dari ruang. |
|
|
||
Ruang diperbarui. |
|
|
||
Ruang akan dihapus. |
|
|
||
Langganan untuk pengguna | ||||
Pengguna menjadi anggota ruang.
Tidak semua anggota baru memicu peristiwa. Untuk mengetahui detailnya, lihat Batasan |
|
|
||
Keanggotaan pengguna ke ruang diperbarui. |
|
|
||
Pengguna dihapus sebagai anggota langsung ruang. |
|
|
Jenis peristiwa batch (khusus output)
Selain menerima jenis peristiwa langganan Anda, Aplikasi Chat juga dapat menerima peristiwa batch. Peristiwa batch adalah peristiwa yang mewakili banyak peristiwa berjenis sama yang terjadi dalam periode waktu tertentu. Payload peristiwa batch berisi daftar semua Google Cloud Platform.
Misalnya, jika pengguna menambahkan 20 pengguna ke ruang secara bersamaan,
Aplikasi Chat mungkin menerima peristiwa batch
(google.workspace.chat.membership.v1.batchCreated
). Payload peristiwa berisi
daftar semua resource Membership
baru yang dibuat saat pengguna
menambahkan anggota ke ruang.
Anda menerima peristiwa batch untuk semua jenis peristiwa langganan Anda, jadi
Anda tidak perlu menentukan peristiwa batch saat membuat langganan. Sebagai
misalnya, jika Anda berlangganan reaksi baru
(google.workspace.chat.reaction.v1.created
), Anda
Aplikasi Chat dikonfigurasi secara otomatis untuk menerima
peristiwa reaksi (google.workspace.chat.reaction.v1.batchCreated
).
Tabel berikut menampilkan kemungkinan peristiwa batch untuk langganan:
Jenis peristiwa batch | Format |
---|---|
Beberapa pesan akan diposting. |
|
Beberapa pesan diperbarui. |
|
Beberapa pesan dihapus. |
|
Beberapa reaksi dibuat. |
|
Beberapa reaksi dihapus. |
|
Beberapa anggota ditambahkan ke ruang yang berlangganan, atau pengguna yang berlangganan telah ditambahkan ke beberapa ruang. |
|
Beberapa keanggotaan diperbarui di ruang langganan, atau untuk pengguna yang berlangganan. |
|
Beberapa anggota dihapus dari ruang yang berlangganan, atau pengguna yang berlangganan telah dihapus dari beberapa ruang. |
|
Ruang memiliki beberapa pembaruan. |
|
Data peristiwa
Bagian ini menjelaskan data peristiwa dan contoh payload untuk peristiwa di Chat.
Saat langganan Google Workspace Anda menerima peristiwa dari
Chat,
data
berisi payload peristiwa. Payload ini memiliki informasi tentang
Referensi Google Workspace yang berubah. Misalnya, jika Anda telah berlangganan
peristiwa keanggotaan di dalam ruang, {i>payload<i} untuk
peristiwa ini berisi informasi
tentang
spaces.membership
resource yang berubah.
Data resource dalam payload peristiwa
Saat membuat langganan, Anda dapat menentukan apakah Anda ingin payload sertakan detail tentang sumber daya, atau hanya nama sumber daya tersebut. Sebagai misalnya, jika Anda ingin menerima peristiwa tentang anggota dalam Chat Anda dapat menentukan bidang sumber daya keanggotaan yang ingin Anda terima dalam payload peristiwa.
Tabel berikut menyediakan contoh payload JSON untuk langganan ke
ruang Chat spaces/AAAABBBBBB
. Untuk setiap peristiwa yang
langganan, payload akan muncul di kolom data
peristiwa:
Contoh | Jenis peristiwa | Payload JSON |
---|---|---|
Pengguna memposting pesan di ruang yang bertuliskan "Halo dunia". |
|
Menyertakan data resource
{ "message": { "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD", "sender": { "name": "users/1234567890987654321", "type": "HUMAN" }, "createTime": "2023-09-07T21:37:36.260127Z", "text": "Hello world", "thread": { "name": "spaces/AAAABBBBBB/threads/EEEEEEEEEEEE" }, "space": { "name": "spaces/AAAABBBBBB" }, "argumentText": "Hello world" } } Mengecualikan data resource
{ "message": { "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD" } } |
Pengguna akan menjadi pengelola ruang. |
|
Menyertakan data resource
{ "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321", "state": "JOINED", "member": { "name": "users/1234567890987654321", "type": "HUMAN" }, "createTime": "1970-01-01T00:00:00Z", "role": "ROLE_MANAGER" } } Mengecualikan data resource
{ "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321" } } |
Pengguna memperbarui deskripsi ruang menjadi "Tim penjualan untuk Cymbal Labs". | google.workspace.chat.space.v1.updated |
Menyertakan data resource
{ "space": { "name": "spaces/AAAABBBBBB", "displayName": "Cymbal Sales", "spaceThreadingState": "THREADED_MESSAGES", "spaceType": "SPACE", "spaceDetails": { "description": "Sales team for Cymbal Labs." }, "spaceHistoryState": "HISTORY_ON" } } Mengecualikan data resource
{ "space": { "name": "spaces/AAAABBBBBB" } } |
Dua pengguna Chat ditambahkan ke ruang secara bersamaan. | google.workspace.chat.membership.v1.batchCreated |
Menyertakan data resource
{ "memberships": [ { "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321", "state": "JOINED", "member": { "name": "users/1234567890987654321", "type": "HUMAN" }, "createTime": "1970-01-01T00:00:00Z", "role": "ROLE_MEMBER" } }, { "membership": { "name": "spaces/AAAABBBBBB/members/987654321234567890", "state": "JOINED", "member": { "name": "users/987654321234567890", "type": "HUMAN" }, "createTime": "1970-01-01T00:00:00Z", "role": "ROLE_MEMBER" } } ] } Mengecualikan data resource
{ "memberships": [ { "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321" } }, { "membership": { "name": "spaces/AAAABBBBBB/members/98765432123456789019" } } ] } |
Pengguna bereaksi pada pesan dengan emoji minimal. | google.workspace.chat.reaction.v1.created |
Menyertakan data resource
{ "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222", "user": { "name": "users/1234567890987654321", "type": "HUMAN" }, "emoji": { "unicode": "😊" } } } Menghapus data resource
{ "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222" } } |
Pengguna bereaksi terhadap pesan dengan emoji minimal dan Support emoji. | google.workspace.chat.reaction.v1.batchCreated |
Menyertakan data resource
{ "reactions": [ { "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222", "user": { "name": "users/1234567890987654321", "type": "HUMAN" }, "emoji": { "unicode": "😊" } } }, { "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444", "user": { "name": "users/98765431234564321", "type": "HUMAN" }, "emoji": { "unicode": "😸" } } } ] } Menghapus data resource
{ "reactions": [ { "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222" }, "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444", } } ] } |
Batasan
-
Untuk langganan bagi pengguna, acara tentang anggota baru di pesan langsung atau chat grup tanpa nama (
google.workspace.chat.membership.v1.created
), hanya dipicu setelah pesan pertama diposting. - Untuk menerima acara keanggotaan, pengguna harus menjadi anggota langsung ruang. Jika pengguna ditambahkan, diperbarui, atau dihapus secara tidak langsung ke ruang melalui grup Google, langganan tidak menerima acara keanggotaan tersebut. Untuk memahami cara kerja keanggotaan Google Grup, lihat Menambahkan grup Google ke ruang.
Topik terkait
- Struktur peristiwa Google Workspace
- Memilih cakupan OAuth
- Buat langganan untuk menerima peristiwa Chat