Panduan ini menjelaskan komponen utama respons di Google Drive Activity API, yang menampilkan contoh dan cara menafsirkannya.
Objek
DriveActivity: Ini adalah resource utama yang ditampilkan oleh kueri ke Drive Activity API. Diagram ini menjelaskan satu atau beberapa pelaku yang melakukan satu atau beberapa tindakan yang memengaruhi satu atau beberapa target.TimestampdanTimeRange: Kedua atribut ini masing-masing menjelaskan satu titik waktu saat aktivitas terjadi, atau awal dan akhir saat aktivitas terjadi selama jangka waktu tertentu.Actor: Biasanya,Actoradalah pengguna akhir. Namun, terkadang, peristiwa sistem dapat memicuActionsaat administrator bertindak sebagai pengguna atau sebagai diri mereka sendiri, atau saat dilakukan oleh orang yang tidak dapat diidentifikasi. PesanActormengaitkan setiap kasus ini.Target:Targetadalah objek aktivitas, seperti file, folder, drive bersama, atau komentar file. Perhatikan bahwa banyak jenis tindakan mendukung lebih dari satu jenis target. Misalnya, meskipunEditumumnya berlaku untuk file Drive, tindakan lain sepertiRenamedanCreatejuga 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 resourceDriveActivitymemiliki satu atau beberapa tindakan terkait.Actionbersifat mandiri, seperti peristiwa, karena tidak hanya terdiri dari jenis dan informasi terperinci tentang tindakan, tetapi jugaActor,Target, danTimestampatauTimeRange. Untuk menghindari redundansi,Actiontidak mengisi kolomTarget,Actor, atau waktunya sendiri jika sama denganDriveActivitysecara keseluruhan.ActionDetail: Ini adalah jenis khusus dan informasi mendetail tentangAction. Misalnya, detail tindakanMovememiliki lokasi sumber dan tujuan, danPermissionChangemenentukan siapa yang sekarang dapat mengakses dokumen dan dengan hak istimewa apa.
Contoh respons
Tinjau hal berikut untuk melihat contoh respons.
Pengguna mengedit file di Drive
Resource DriveActivity mungkin hanya menyertakan satu tindakan, seperti pengguna
yang mengedit satu file.
"activities":[{
"primaryActionDetail":{ "edit":{} },
"actors":[ { "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID" } } } ],
"targets":[ { "driveItem":{ "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 objek Action dalam respons ini tidak menyertakan Actor,
Target, atau timestamp karena sama dengan keseluruhan
DriveActivity.
Dua pengguna mengedit file yang sama pada waktu yang hampir bersamaan
Saat ConsolidationStrategy
digunakan, tindakan terkait akan dikelompokkan ke dalam satu DriveActivity gabungan. Dalam
contoh ini, dua tindakan serupa dikelompokkan: satu jenis tindakan Edit dari dua
pengguna yang berbeda.
"activities":[{
"primaryActionDetail":{ "edit":{} },
"actors":[
{ "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID_1" } } },
{ "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID_2" } } }
],
"targets":[
{ "driveItem":{ "name":"items/ITEM_ID", "title":"TITLE", "file":{} } }
],
"timeRange":{
"startTime":{ "seconds":"1541089823", "nanos":712000000 },
"endTime":{ "seconds":"1541089830", "nanos":830000000 }
},
"actions":[
{
"detail":{ "edit":{} },
"actor":{ "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID_1" } } },
"timestamp":{ "seconds":"1541089830", "nanos":830000000 }
},
{
"detail":{ "edit":{} },
"actor":{ "user":{ "knownUser":{ "personName":"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 objek Action 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 dua pengguna mengedit file tertentu selama jangka waktu tertentu.
Pengguna memindahkan dua file ke direktori baru
Dalam contoh ini, ConsolidationStrategy mengelompokkan dua tindakan Move terkait
karena file dipindahkan dari sumber yang sama ke tujuan yang sama secara
bersamaan.
"activities":[{
"primaryActionDetail":{
"move":{
"addedParents":[ { ... } ]
"removedParents":[ { ... } ]
}
},
"actors":[ { "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID" } } } ],
"targets":[
{ "driveItem":{ "name":"items/ITEM_ID_1", "title":"TITLE_1", "file":{} } },
{ "driveItem":{ "name":"items/ITEM_ID_2", "title":"* TITLE_2", "file":{} } }
],
"timestamp":{ "seconds":"1541090960", "nanos":985000000 },
"actions":[
{
"detail":{ "move":{ "addedParents":[ { ... } ] "removedParents":[ { ... } ] } },
"target":{ "driveItem":{ "name":"items/ITEM_ID_1", "title":"TITLE_1", "file":{} } }
},
{
"detail":{ "move":{ "addedParents":[ { ... } ] "removedParents":[ { ... } ] } },
"target":{ "driveItem":{ "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 objek Action dalam respons ini tidak menyertakan Actor atau
timestamp karena sama dengan DriveActivity secara keseluruhan.