Panduan perbandingan Drive API v2 dan v3

Versi Google Drive API terbaru adalah v3. Performa di v3 lebih baik karena penelusuran hanya menampilkan subset kolom. Gunakan versi saat ini kecuali jika Anda memerlukan koleksi v2. Jika Anda menggunakan v2, sebaiknya migrasikan ke v3. Untuk melakukan migrasi, lihat Bermigrasi ke Drive API v3. Untuk mengetahui daftar lengkap perbedaan versi, lihat Referensi perbandingan Drive API v2 dan v3.

Jika Anda ingin terus menggunakan v2, lihat Panduan untuk amandemen Drive API v2 untuk mempelajari cara beberapa petunjuk dalam panduan v3 harus diubah untuk developer v2.

Untuk mempelajari lebih lanjut peningkatan Drive API v3, Anda dapat menonton video berikut yang dibuat oleh engineer Google yang membahas desain API baru.

Peningkatan v3

Untuk mengoptimalkan performa dan mengurangi kompleksitas perilaku API, v3 memberikan peningkatan berikut dibandingkan versi API sebelumnya:

  • Penelusuran file dan drive bersama tidak menampilkan resource lengkap secara default, hanya subset kolom yang umum digunakan yang ditampilkan. Untuk mengetahui detail selengkapnya tentang fields, lihat metode files.list dan metode drives.list.
  • Hampir semua metode yang menampilkan respons kini memerlukan parameter fields. Untuk mengetahui daftar semua metode yang memerlukan fields, lihat referensi Drive API.
  • Resource yang memiliki kemampuan duplikat telah dihapus. Beberapa contoh:
    • Metode files.list mencapai fungsi yang sama dengan koleksi Children dan Parents, sehingga metode tersebut dihapus dari v3.
    • Metode Realtime.* telah dihapus.
  • Data Aplikasi tidak ditampilkan secara default dalam penelusuran. Di v2, Anda dapat menetapkan cakupan drive.appdata, dan cakupan tersebut akan menampilkan data aplikasi dari metode files.list dan metode changes.list, tetapi akan memperlambat performa. Di v3, Anda menetapkan cakupan drive.appdata, dan juga menetapkan parameter kueri spaces=appDataFolder untuk meminta data aplikasi.
  • Semua operasi pembaruan menggunakan PATCH, bukan PUT.
  • Untuk mengekspor Google Dokumen, gunakan metode files.export.
  • Perilaku metode changes.list berbeda. Sebagai ganti ID perubahan, gunakan token halaman buram. Untuk melakukan polling koleksi perubahan, panggil terlebih dahulu metode changes.getStartPageToken untuk nilai awal. Untuk kueri berikutnya, metode changes.list akan menampilkan nilai newStartPageToken.
  • Metode pembaruan kini menolak permintaan yang menentukan kolom yang tidak dapat ditulis.
  • Kolom v2 exportFormats dan importFormats dalam resource about adalah daftar format impor atau ekspor yang diizinkan. Di v3, kolom tersebut adalah peta jenis MIME dari kemungkinan target ke semua impor atau ekspor yang didukung.
  • Alias appdata dan appfolder v2 kini menjadi appDataFolder di v3.
  • Resource properties dihapus dari v3. Resource files memiliki kolom properties yang berisi key-value pair yang sebenarnya. Kolom properties berisi properti publik, dan kolom appProperties berisi properti pribadi, sehingga kolom visibilitas tidak diperlukan.
  • Kolom modifiedTime di resource files memperbarui waktu terakhir seseorang mengubah file. Di v2, kolom modifiedDate hanya dapat diubah saat pembaruan jika Anda menetapkan kolom setModifiedDate.
  • Kolom viewedByMeTime di resource files tidak otomatis diperbarui.
  • Untuk mengimpor format Google Dokumen, Anda menetapkan mimeType target yang sesuai di isi resource. Di v2, Anda menetapkan ?convert=true.
  • Operasi impor menampilkan error 400 jika format tidak didukung.
  • Pembaca dan pemberi komentar tidak dapat melihat izin.
  • Alias me untuk izin dihapus.
  • Beberapa fungsi tersedia sebagai bagian dari resource permintaan, tetapi tersedia sebagai parameter permintaan. Contoh:
    • Di v2, Anda dapat menggunakan children.delete untuk menghapus file turunan dari folder induk.
    • Di v3, Anda menggunakan files.update pada turunan dengan ?removeParents=parent_id di URL.

Perbedaan lainnya

Nama kolom dan parameter berbeda di v3. Contohnya antara lain:

  • Properti name menggantikan title di resource files.
  • Time adalah akhiran untuk semua kolom tanggal dan waktu, bukan Date.
  • Operasi daftar tidak menggunakan kolom items untuk berisi kumpulan hasil. Jenis resource menyediakan kolom untuk hasil (seperti files atau changes).