Panduan ini menjelaskan cara membuat permintaan di Google Drive Activity API menggunakan metode activity.query
.
Kunci kueri
Ada 2 cara untuk meminta aktivitas: menurut item Google Drive, atau untuk semua hal di bawah hierarki folder.
itemName
: Format untuk kunci ini adalah "items/ITEM_ID". Biasanya ini adalah file di Drive. Jika Anda menentukan folder untuk kunci ini, kunci akan menampilkan aktivitas untuk folder tersebut seperti saat folder dibuat atau diganti namanya.ancestorName
: Format untuk kunci ini adalah "items/ITEM_ID", dan responsnya mencakup aktivitas pada semua item di sub-pohon di bawah folder ini.
Jika tidak ada kunci yang ditetapkan, kunci akan secara default menggunakan ancestorName
"items/root" dan
menampilkan aktivitas untuk semua item di Drive Anda.
Penomoran halaman
Kolom pageSize
memungkinkan Anda meminta perkiraan jumlah aktivitas
yang akan ditampilkan dalam setiap respons. Jumlah sebenarnya aktivitas yang ditampilkan akan bervariasi,
sehingga aplikasi Anda harus menangani jumlah arbitrer dalam respons.
Ukuran halaman terbatas. Jika aplikasi Anda memerlukan banyak aktivitas, buat beberapa
permintaan menggunakan penomoran halaman, bukan menetapkan nilai besar untuk pageSize
.
Secara khusus, jika mungkin ada lebih banyak aktivitas yang akan diambil daripada yang disertakan dalam
respons, respons juga akan berisi nextPageToken
. Untuk mengambil
hasil lainnya, ulangi permintaan yang sama, tetapi tambahkan kolom pageToken
dengan nilai
nextPageToken
dari respons sebelumnya.
Konsolidasi
Objek Action
sering dikelompokkan dan ditampilkan dalam satu
resource DriveActivity
. Beberapa pengelompokan Action
terjadi secara spontan, seperti memindahkan
item ke folder bersama yang memicu perubahan izin.
Anda juga dapat menentukan ConsolidationStrategy
(terkadang disebut agregasi atau pengelompokan) dalam permintaan. Hal ini memungkinkan
pengelompokan objek Action
terkait lainnya, seperti beberapa aktor yang mengedit satu
item, atau satu Actor
yang memindahkan beberapa file ke folder Drive baru.
Meskipun setiap Action
memiliki satu Actor
dan satu Target
, setelah pengelompokan,
DriveActivity
yang dihasilkan dapat memiliki beberapa aktor dan beberapa target.
Namun, meskipun setelah pengelompokan, selalu ada tindakan "utama" yang
representatif, atau yang paling penting, dari semua tindakan dalam
resource DriveActivity
, bergantung pada strategi konsolidasi yang diminta.
Akibatnya, terlepas dari apakah penggabungan diaktifkan atau tidak, mungkin cukup bagi
banyak klien untuk hanya melihat konten tingkat atas dari resource DriveActivity
(seperti
pelaku dan target kolektif dalam primaryActionDetail
) dan mengabaikan
tindakan mendetail dalam respons.
Filter
Anda dapat membatasi tindakan yang mungkin ditampilkan dalam resource DriveActivity
dengan membuat string filter
dalam permintaan activity.query
. Ada
2 kolom yang didukung: time
dan detail.action_detail_case
.
Filter menurut waktu
Untuk membatasi tindakan menurut rentang waktu, tentukan nama kolom time
dengan operator
numerik pada nilai tanggal, yang digabungkan dengan "AND" opsional. Gunakan milidetik sejak 1 Januari 1970 atau format RFC 3339, seperti:
time > 1452409200000 AND time <= 1492812924310
time >= "2016-01-10T01:02:03-05:00"
Filter menurut jenis
Untuk membatasi menurut jenis tindakan, terapkan nama kolom detail.action_detail_case
dengan
operator "has" (:
). Gunakan nilai tunggal atau daftar jenis tindakan
yang diizinkan yang diapit tanda kurung, dipisahkan dengan spasi. Untuk menemukan daftar jenis
tindakan, tinjau objek ActionDetail
.
Untuk mengecualikan jenis tindakan dari respons,
tambahkan tanda hubung (-
) di awal string filter.
Berikut adalah beberapa contoh jenis tindakan:
detail.action_detail_case:RENAME
detail.action_detail_case:(CREATE RESTORE)
-detail.action_detail_case:MOVE
Kombinasi
Kondisi pemfilteran ini dapat digabungkan dalam satu string filter
, seperti:
detail.action_detail_case:(CREATE EDIT RESTORE) time > 1452409200000
Contoh permintaan
Minta 10 aktivitas terbaru untuk item Drive:
{
"itemName": "items/ITEM_ID",
"pageSize": 10
}
Minta aktivitas gabungan untuk setiap item Drive di bawah folder ancestor:
{
"ancestorName": "items/ITEM_ID",
"consolidationStrategy": {
"legacy": {}
}
}
Minta semua tindakan MOVE
dan RENAME
pada item Drive:
{
"itemName": "items/ITEM_ID",
"filter": "detail.action_detail_case:(MOVE RENAME)"
}
Minta semua aktivitas sejak 1 Januari 2018 EST:
{
"ancestorName": "items/root",
"filter": "time >= \"2018-01-01T00:00:00-05:00\""
}
Minta semua aktivitas, kecuali tindakan EDIT
, selama Juni 2017 UTC:
{
"ancestorName": "items/root",
"filter": "time >= \"2018-06-01T00:00:00Z\" time < \"2018-07-01T00:00:00Z\" -detail.action_detail_case:EDIT"
}