Bermigrasi dari Drive Activity API v1

Panduan ini menjelaskan perbedaan antara Google Drive Activity API v1 dan v2, serta cara mengubah aplikasi v1 Anda agar mendukung API v2.

Otorisasi

API v1 menggunakan cakupan ini:

  • https://www.googleapis.com/auth/activity

API v2 memerlukan salah satu cakupan berikut:

  • https://www.googleapis.com/auth/drive.activity
  • https://www.googleapis.com/auth/drive.activity.readonly

Nama resource

Di API v1, ID untuk objek seperti item Google Drive dan pengguna merupakan string buram. Di API v2, objek ini biasanya direferensikan menggunakan nama resource. Untuk informasi selengkapnya, lihat Panduan Desain Cloud API.

ID ini umumnya dapat dikonversi. Misalnya, item Drive di API v2 direferensikan menggunakan nama resource items/ITEM_ID_V1.

Permintaan

Format permintaan untuk v2 mirip dengan format v1. Secara khusus, Anda tetap dapat meminta aktivitas untuk file Drive atau ancestor Drive, meskipun perlu diperhatikan bahwa Anda harus memformat parameter permintaan tersebut sebagai nama resource dengan mengawalinya dengan items/.

"Pengelompokan" sekarang disebut Konsolidasi, dan parameter permintaan source serta userId telah dihapus.

Ada juga opsi Filter baru yang memungkinkan Anda membatasi jenis data aktivitas yang ditampilkan dalam respons.

Tindakan

Di API v1, jenis aktivitas dan data yang terkait dengan aktivitas tersebut, berada di kolom terpisah. Misalnya, jika kolom primaryEventType berisi nilai move, aplikasi akan menganggap bahwa kolom move tingkat teratas diisi dengan induk yang ditambahkan dan dihapus.

Di API v2, kolom ini tidak lagi berbeda. Pesan ActionDetail memiliki tepat satu kolom yang ditetapkan. Menunjukkan jenis tindakan dan berisi detail yang terkait dengan tindakan tersebut. Misalnya, ActionDetail yang mewakili pemindahan hanya menetapkan kolom move, dan kolom tersebut mencantumkan induk yang ditambahkan dan dihapus.

Kolom primaryEventType API v1 kurang lebih sama dengan primaryActionDetail v2.

Actors

Dalam API v1, aktivitas yang ditampilkan berisi User jika aktor adalah pengguna yang diketahui, dan secara opsional berisi kolom tingkat teratas seperti fromUserDeletion untuk kasus khusus.

Pada API v2, kumpulan jenis Actor yang lebih beragam tersedia, dan user.knownUser diisi saat aktor adalah pengguna yang dikenal. Jika aplikasi Anda memerlukan informasi mendetail tentang pengguna, aplikasi dapat mengkuerinya dari People API dengan meneruskan kolom KnownUser personName ke metode people.get.

Targets

Di API v1, target selalu berupa item Drive. Di API v2, target dapat berupa jenis objek lain di Drive. Misalnya, perubahan pada drive memiliki jenis target Drive. Folder root drive bersama masih ditampilkan (sebagai DriveItem di kolom root), tetapi bukan target langsung dari aktivitas tersebut. Konsep serupa berlaku untuk resource FileComment, yang kolom parent-nya merujuk ke item Drive yang berisi thread komentar target.

Aktivitas gabungan

Di API v1, gaya respons berubah saat strategi konsolidasi ("pengelompokan") ditetapkan. Secara khusus, saat konsolidasi diaktifkan, setiap aktivitas berisi singleEvents konstituen dan combinedEvent yang merangkum aktivitas umum di antara peristiwa konstituen tersebut. Jika konsolidasi dinonaktifkan, kolom combinedEvent akan berisi peristiwa asli yang tidak digabungkan untuk setiap aktivitas. Salah satu peristiwa ini dapat mewakili lebih dari satu tindakan, seperti membuat bersama dengan pembagian.

Di API v2, gaya respons tidak berubah berdasarkan strategi konsolidasi, karena DriveActivity yang ditampilkan selalu berisi kumpulan lengkap pelaku, target, dan tindakan.