Panduan ini menjelaskan komponen utama respons di Google Drive Activity API, yang menunjukkan contoh dan cara menafsirkannya.
Objek
DriveActivity
—Ini adalah resource utama yang ditampilkan oleh kueri ke Drive Activity API. Diagram ini menjelaskan satu atau beberapa aktor yang melakukan satu atau beberapa tindakan yang memengaruhi satu atau beberapa target.Timestamp
danTimeRange
—Masing-masing menjelaskan satu titik waktu saat aktivitas terjadi, atau awal dan akhir saat aktivitas terjadi selama rentang waktu.Actor
—Biasanya,Actor
adalah pengguna akhir. Namun, terkadang, peristiwa sistem dapat memicuAction
saat admin bertindak sebagai pengguna atau sebagai dirinya sendiri, atau saat dilakukan oleh orang yang tidak dapat diidentifikasi. PesanActor
mengenkapsulasi setiap kasus ini.Target
—Target
adalah objek aktivitas, seperti file, folder, drive bersama, atau komentar file. Perhatikan bahwa banyak jenis tindakan yang mendukung lebih dari satu jenis target. Misalnya, walaupunEdit
umumnya berlaku untuk file Drive, tindakan lain sepertiRename
danCreate
juga dapat berlaku untuk folder Drive dan drive bersama. Target yang bukan item Drive masih dapat merujuk ke item Drive, seperti folder root drive atau dokumen induk yang berisi komentar file.Action
—Setiap resourceDriveActivity
memiliki satu atau beberapa tindakan terkait.Action
bersifat mandiri, seperti peristiwa, karena tidak hanya terdiri dari jenis dan informasi mendetail tentang tindakan, tetapi jugaActor
,Target
, danTimestamp
atauTimeRange
. Untuk menghindari redundansi,Action
tidak mengisi kolomTarget
,Actor
, atau waktunya sendiri jika sama denganDriveActivity
secara keseluruhan.ActionDetail
—Ini adalah jenis tertentu dan informasi mendetail tentangAction
. Misalnya, detail tindakanMove
memiliki lokasi sumber dan tujuan, danPermissionChange
menentukan siapa yang sekarang dapat mengakses dokumen dan dengan hak istimewa apa.
Contoh respons
Pengguna mengedit file di Drive:
Resource DriveActivity
sederhana mungkin hanya menyertakan satu tindakan, seperti pengguna
yang 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. API ini dapat digunakan dengan People API untuk mendapatkan informasi selengkapnya.
- ITEM_ID: ID item Drive.
- TITLE: judul item Drive.
Perhatikan 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 hampir sama:
Jika penggabungan diaktifkan, tindakan terkait akan dikelompokkan ke dalam satu
DriveActivity
. Dalam contoh ini, 2 tindakan serupa dikelompokkan: satu jenis tindakan Edit
dari 2 pengguna yang 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. API ini dapat digunakan dengan People API untuk mendapatkan informasi selengkapnya.
- ACCOUNT_ID_2: ID pengguna kedua.
- ITEM_ID: ID item Drive.
- TITLE: judul item Drive.
Perhatikan bahwa tindakan dalam respons ini tidak menyertakan Target
karena
sama dengan DriveActivity
secara keseluruhan.
Contoh ini juga mengilustrasikan bagaimana aplikasi mungkin hanya menggunakan informasi ringkasan di
DriveActivity
, tanpa melihat setiap tindakan. Respons ini menunjukkan bahwa 2 pengguna mengedit file tertentu selama jangka waktu tertentu.
Seorang pengguna memindahkan 2 file ke direktori baru:
Dalam contoh ini, strategi penggabungan mengelompokkan 2 tindakan Move
terkait
karena file dipindahkan dari sumber yang sama ke tujuan yang sama pada
saat 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. API 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.
Perhatikan bahwa tindakan dalam respons ini tidak menyertakan Actor
atau TimeStamp
karena sama dengan DriveActivity
secara keseluruhan.