Panduan ini menjelaskan komponen utama respons di Google Drive Activity API, menunjukkan contoh-contoh dan cara menafsirkannya.
Objek
DriveActivity
—Ini adalah resource utama yang ditampilkan oleh kueri ke Drive Activity API. Ini menggambarkan satu atau lebih pelaku yang melakukan satu atau lebih tindakan yang memengaruhi satu atau lebih banyak target.Timestamp
danTimeRange
—Ini menggambarkan satu titik waktu ketika aktivitas atau awal dan akhir dari aktivitas yang terjadi dalam rentang waktu baik.Actor
—Biasanya,Actor
adalah seorang pengguna akhir. Namun, terkadang, peristiwa sistem dapat memicuAction
saat admin bertindak sebagai sebagai pengguna atau dirinya sendiri, atau jika dilakukan oleh orang yang tidak dapat diidentifikasi. Tujuan PesanActor
mengenkapsulasi setiap kasus ini.Target
—Target
adalah objek aktivitas tertentu, seperti file, folder, drive bersama, atau komentar file. Perhatikan bahwa banyak jenis tindakan mendukung lebih dari satu jenis target. Sebagai meskipunEdit
umumnya berlaku untuk file Drive, tindakan sepertiRename
danCreate
juga dapat diterapkan ke Drive folder dan drive bersama. Target yang bukan item Drive masih dapat merujuk ke salah satunya, seperti folder root drive atau dokumen yang berisi komentar file.Action
—SetiapDriveActivity
resource memiliki satu atau beberapa tindakan terkait.Action
bersifat mandiri, seperti peristiwa, yang tidak hanya terdiri dari jenis dan informasi mendetail tentang tindakan, tetapi jugaActor
,Target
, danTimestamp
atauTimeRange
. Untuk menghindari redundansi,Action
tidak mengisinya sendiriTarget
,Actor
, atau waktu jika sama denganDriveActivity
.ActionDetail
—Ini adalah jenis tertentu dan informasi mendetail tentangAction
. Sebagai contoh, Detail tindakanMove
memiliki lokasi sumber dan tujuan, serta lokasiPermissionChange
menentukan siapa saja yang kini dapat mengakses dokumen dan dengan apa hak istimewa pengguna.
Contoh respons
Pengguna mengedit file di Drive:
Resource DriveActivity
sederhana mungkin hanya menyertakan satu tindakan, seperti pengguna
mengedit satu file.
"activities":[{
"primary_action_detail":{ "edit":{} },
"actors":[ { "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID" } } } ],
"targets":[ { "drive_item":{ "name":"items/ITEM_ID", "title":"TITLE", "file":{} } } ],
"timestamp":{ "seconds":"1536794657", "nanos":791000000 },
"actions":[ { "detail":{ "edit":{} } } ]
}]
Output ini mencakup nilai-nilai berikut:
- ACCOUNT_ID: ID pengguna. ID ini dapat digunakan dengan People API untuk mendapatkan informasi selengkapnya.
- ITEM_ID: ID item Drive.
- TITLE: judul item Drive.
Perlu diperhatikan bahwa Action
dalam respons ini tidak menyertakan Actor
, Target
,
atau TimeStamp
karena sama dengan DriveActivity
secara keseluruhan.
Dua pengguna mengedit file yang sama pada waktu yang sama:
Saat penggabungan diaktifkan, tindakan terkait akan dikelompokkan menjadi satu
DriveActivity
. Dalam contoh ini, 2 tindakan serupa dikelompokkan: satu Edit
jenis tindakan dari 2 pengguna berbeda.
"activities":[{
"primary_action_detail":{ "edit":{} },
"actors":[
{ "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_1" } } },
{ "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_2" } } }
],
"targets":[
{ "drive_item":{ "name":"items/ITEM_ID", "title":"TITLE", "file":{} } }
],
"time_range":{
"start_time":{ "seconds":"1541089823", "nanos":712000000 },
"end_time":{ "seconds":"1541089830", "nanos":830000000 }
},
"actions":[
{
"detail":{ "edit":{} },
"actor":{ "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_1" } } },
"timestamp":{ "seconds":"1541089830", "nanos":830000000 }
},
{
"detail":{ "edit":{} },
"actor":{ "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_2" } } },
"timestamp":{ "seconds":"1541089823", "nanos":712000000 }
}
]
}]
Output ini mencakup nilai-nilai berikut:
- ACCOUNT_ID_1: ID pengguna pertama. Dapat digunakan dengan People API untuk mendapatkan informasi selengkapnya.
- ACCOUNT_ID_2: ID pengguna kedua.
- ITEM_ID: ID item Drive.
- TITLE: judul item Drive.
Perlu diperhatikan bahwa tindakan dalam respons ini tidak menyertakan Target
karena
sama dengan keseluruhan DriveActivity
.
Contoh tersebut juga menggambarkan bagaimana aplikasi mungkin hanya menggunakan informasi ringkasan di
DriveActivity
, tanpa melihat masing-masing tindakan. Respons
menunjukkan bahwa 2 pengguna mengedit file tertentu selama jangka waktu tertentu.
Pengguna memindahkan 2 file ke direktori baru:
Dalam contoh ini, strategi konsolidasi mengelompokkan 2 tindakan Move
yang terkait
karena file dipindahkan dari sumber yang sama
ke tujuan yang sama di
perangkat lain di waktu yang sama.
"activities":[{
"primary_action_detail":{
"move":{
"added_parents":[ { ... } ]
"removed_parents":[ { ... } ]
}
},
"actors":[ { "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID" } } } ],
"targets":[
{ "drive_item":{ "name":"items/ITEM_ID_1", "title":"TITLE_1", "file":{} } },
{ "drive_item":{ "name":"items/ITEM_ID_2", "title":"* TITLE_2", "file":{} } }
],
"timestamp":{ "seconds":"1541090960", "nanos":985000000 },
"actions":[
{
"detail":{ "move":{ "added_parents":[ { ... } ] "removed_parents":[ { ... } ] } },
"target":{ "drive_item":{ "name":"items/ITEM_ID_1", "title":"TITLE_1", "file":{} } }
},
{
"detail":{ "move":{ "added_parents":[ { ... } ] "removed_parents":[ { ... } ] } },
"target":{ "drive_item":{ "name":"items/ITEM_ID_2", "title":"* TITLE_2", "file":{} } }
}
]
}]
Output ini mencakup nilai-nilai berikut:
- ACCOUNT_ID: ID pengguna. ID ini dapat digunakan dengan People API untuk mendapatkan informasi selengkapnya.
- ITEM_ID_1: ID item Drive pertama.
- ITEM_ID_2: ID item Drive kedua.
- TITLE_1: judul item Drive pertama.
- TITLE_2: judul item Drive kedua.
Perlu diperhatikan bahwa tindakan dalam respons ini tidak menyertakan Actor
atau TimeStamp
karena sama dengan DriveActivity
secara keseluruhan.