Halaman ini menjelaskan peristiwa Google Drive yang dapat dilanggan aplikasi Anda menggunakan Google Workspace Events API. Setelah memutuskan jenis peristiwa yang Anda butuhkan, buat langganan untuk mulai menerima peristiwa dari Drive.
Untuk mempelajari lebih lanjut cara mengembangkan aplikasi untuk Drive, lihat Ringkasan Google Drive API.
Peristiwa Drive yang didukung
Langganan Google Workspace memungkinkan Anda menerima peristiwa tentang jenis perubahan berikut di Drive:
- file adalah:
- Ditambahkan ke folder atau drive bersama.
- Dipindahkan ke folder atau drive bersama.
- Revisi yang diedit atau baru diupload.
- Dihapus ke sampah atau dihapus dari sampah.
- Proposal akses dibuat atau diselesaikan pada file.
Resource yang dapat Anda pantau untuk peristiwa
Untuk menerima peristiwa, Anda menentukan resource Drive yang akan dipantau, yang disebut target resource langganan.
Google Workspace Events API mendukung target resource berikut untuk Drive:
Resource target | Format | Batasan (jika ada) |
---|---|---|
File | //googleapis.com/drive/v3/files/FILE
dengan FILE adalah ID di
nama resource resource |
Pengguna yang mengizinkan langganan harus memiliki izin pada file dalam langganan relatif terhadap peristiwa berlangganan. |
Drive bersama | //googleapis.com/drive/v3/drives/DRIVE
dengan DRIVE adalah ID di
nama resource resource |
Langganan hanya menerima peristiwa untuk item di drive bersama tempat pengguna menjadi anggota melalui Akun Google Workspace atau Akun Google-nya. |
Jenis peristiwa untuk membuat langganan
Saat membuat langganan ke resource Drive, Anda menggunakan kolom
eventTypes[]
untuk menentukan jenis peristiwa yang ingin Anda terima. Jenis peristiwa diformat sesuai dengan spesifikasi CloudEvents, seperti google.workspace.APPLICATION.RESOURCE.VERSION.ACTION
.
Misalnya, untuk menerima peristiwa tentang file yang dibuat di folder atau drive bersama, Anda menentukan file sebagai resource target, dan jenis peristiwa sebagai google.workspace.drive.file.v3.created
. Untuk menerima peristiwa tentang proposal akses yang dibuat pada file, Anda menentukan proposal akses sebagai resource target, dan jenis peristiwa sebagai google.workspace.drive.accessproposal.v3.created
. Untuk mempelajari lebih lanjut cara kerja acara, lihat Struktur acara Google Workspace.
Tabel berikut menampilkan jenis peristiwa yang didukung untuk langganan ke resource Drive:
Jenis peristiwa | Format | Data resource | ||
---|---|---|---|---|
Langganan ke file | ||||
File ditambahkan ke folder atau drive bersama. |
|
|
||
File dipindahkan ke folder atau drive bersama. |
|
|
||
File diedit atau revisi baru diupload. |
|
|
||
File dihapus. |
|
|
||
File dibuang. |
|
|
||
File dihapus dari sampah. |
|
|
||
Proposal akses dibuat pada file. |
|
|
||
Proposal akses diselesaikan pada file. |
|
|
||
Langganan ke drive bersama | ||||
File ditambahkan ke folder atau drive bersama. |
|
|
||
File dipindahkan ke folder atau drive bersama. |
|
|
||
File diedit atau revisi baru diupload. |
|
|
||
File dihapus. |
|
|
||
File dibuang. |
|
|
||
File dihapus dari sampah. |
|
|
||
Proposal akses dibuat pada file. |
|
|
||
Proposal akses diselesaikan pada file. |
|
|
Data peristiwa
Bagian ini menjelaskan data peristiwa dan contoh payload untuk peristiwa di Drive.
Saat langganan Google Workspace Anda menerima acara dari Drive, kolom data
berisi payload untuk acara tersebut. Payload ini berisi informasi tentang
resource Google Workspace yang berubah. Misalnya, jika Anda telah berlangganan
peristiwa file, payload untuk peristiwa ini berisi informasi tentang resource
file
yang berubah.
Data resource di payload peristiwa
Saat membuat langganan, Anda dapat menentukan apakah ingin payload menyertakan detail tentang resource, atau hanya nama resource. Misalnya, jika Anda ingin menerima peristiwa tentang file di Drive, Anda dapat menentukan kolom resource files
yang ingin Anda terima dalam payload peristiwa.
Tabel berikut memberikan contoh payload JSON untuk langganan ke resource Drive. ID file berisi huruf, angka, dan beberapa karakter khusus yang disusun sebagai files/^[01][0-9a-zA-Z_-]+$/
. Misalnya, files/1aaabbbAAABBB111222-_
. Untuk setiap peristiwa yang diterima langganan, payload muncul di kolom data
peristiwa:
Contoh | Jenis peristiwa | Payload JSON |
---|---|---|
Pengguna menambahkan file ke folder atau drive bersama. |
|
Mencakup data resource
{ "fileCreatedEvent": { "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } } Mengecualikan data resource
{ "fileCreatedEvent": { "file": { "id": "FILE_ID" } } } |
Pengguna memindahkan file ke folder atau drive bersama. |
|
Mencakup data resource
{ "fileMovedEvent": { "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } } Mengecualikan data resource
{ "fileMovedEvent": { "file": { "id": "FILE_ID" } } } |
Pengguna mengedit file atau revisi baru diupload. |
|
Mencakup data resource
{ "fileContentChangedEvent": { "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } } Mengecualikan data resource
{ "fileContentChangedEvent": { "file": { "id": "FILE_ID" } } } |
Pengguna menghapus file. |
|
Mencakup data resource
{ "fileDeletedEvent": { "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } } Mengecualikan data resource
{ "fileDeletedEvent": { "file": { "id": "FILE_ID" } } } |
Pengguna memindahkan file ke sampah. |
|
Mencakup data resource
{ "fileTrashedEvent": { "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } } Mengecualikan data resource
{ "fileTrashedEvent": { "file": { "id": "FILE_ID" } } } |
Pengguna memulihkan file dari sampah. |
|
Mencakup data resource
{ "fileUntrashedEvent": { "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } } Mengecualikan data resource
{ "fileUntrashedEvent": { "file": { "id": "FILE_ID" } } } |
Pengguna membuat proposal akses pada file. |
|
Mencakup data resource
{ "accessProposalCreatedEvent": { "accessProposal": [ { "file_id": "FILE_ID", "proposalId": "PROPOSAL_ID", "recipientEmailAddress": "63", "requesterEmailAddress": "application/vnd.google-apps.document", "requestMessage": "grant me access to this file", "rolesAndViews": [ { "role": "writer", "view": "published" } ] } ] } } Mengecualikan data resource
{ "accessProposalCreatedEvent": { "accessProposal": [ { "proposalId": "PROPOSAL_ID" } ] } } |
Pengguna menyetujui proposal akses pada file. |
|
Mencakup data resource
{ "accessProposalResolvedEvent": { "accessProposal": [ { "file_id": "FILE_ID", "proposalId": "PROPOSAL_ID", "recipientEmailAddress": "63", "requesterEmailAddress": "application/vnd.google-apps.document", "requestMessage": "resolve access to this file", "rolesAndViews": [ { "role": "writer", "view": "published" } ] } ] } } Mengecualikan data resource
{ "accessProposalResolvedEvent": { "accessProposal": [ { "proposalId": "PROPOSAL_ID" } ] } } |
Batasan
- Jika kolom boolean
includeDescendants
diDriveOptions
adalahtrue
, langganan Drive di drive bersama dan folder akan selalu mengirimkan peristiwa, meskipun file yang memicu peristiwa berada di banyak lapisan di bawah folder yang digunakan untuk langganan Drive. - Meskipun Anda telah membuat langganan di folder, Anda mungkin tidak menerima semua peristiwa dalam hierarki file karena pengguna atau aplikasi mungkin tidak diberi akses ke peristiwa tersebut. Dalam kasus ini, langganan tetap aktif, tetapi Anda tidak akan menerima peristiwa apa pun untuk resource yang tidak dapat Anda akses.
- Langganan didukung untuk peristiwa pada semua file dan folder, tetapi tidak pada folder root drive bersama. Langganan hanya didukung untuk file dan folder di dalam drive bersama. Perubahan yang dilakukan langsung pada folder root drive bersama tidak akan memicu peristiwa.
- Pengguna yang mengizinkan langganan harus memiliki izin pada file yang sesuai dengan peristiwa yang mereka langgani.
- Langganan hanya menerima peristiwa untuk resource yang aksesnya dimiliki pengguna melalui akun Google Workspace atau Akun Google miliknya.