Drive API v2 ve v3 karşılaştırma kılavuzu

Google Drive API'nin en son sürümü v3'tür. Aramalar yalnızca alanların bir alt kümesini döndürdüğünden, v3'teki performans daha iyidir. v2 koleksiyonuna ihtiyacınız yoksa geçerli sürümü kullanın. v2 kullanıyorsanız v3'e taşımayı düşünebilirsiniz. Taşıma işlemi için Drive API v3'e taşıma başlıklı makaleyi inceleyin. Sürüm farklılıklarının tam listesi için Drive API v2 ve v3 karşılaştırma referansına bakın.

v2'yi kullanmaya devam etmek istiyorsanız v3 kılavuzlarındaki bazı talimatların v2 geliştiricileri için nasıl değiştirilmesi gerektiğini öğrenmek için Drive API v2 değişikliği rehberi bölümüne bakın.

Drive API v3 iyileştirmeleri hakkında daha fazla bilgi edinmek için Google mühendislerinin yeni API tasarımını ele alan aşağıdaki videoyu izleyebilirsiniz.

V3 iyileştirmeleri

v3, performansı optimize etmek ve API davranışı karmaşıklığını azaltmak için önceki API sürümüne göre şu iyileştirmeleri sağlar:

  • Dosya ve ortak Drive'lar için yapılan aramalar varsayılan olarak tüm kaynakları döndürmez. Varsayılan olarak, yaygın olarak kullanılan alanların yalnızca bir kısmı döndürülür. fields hakkında daha fazla bilgi için files.list yöntemini ve drives.list yöntemini inceleyin.
  • Yanıt döndüren yöntemlerin çoğu artık fields parametresini gerektirmektedir. fields gerektiren tüm yöntemlerin listesi için Drive API referansına bakın.
  • Yinelenen özelliklere sahip kaynaklar kaldırıldı. Birkaç örnek:
    • files.list yöntemi, Children ve Parents koleksiyonlarıyla aynı işlevleri yerine getirdiğinden v3'ten kaldırılır.
    • Realtime.* yöntemleri kaldırıldı.
  • Uygulama Verileri aramalarda varsayılan olarak döndürülmez. v2'de drive.appdata kapsamını ayarlayabilirsiniz. Bu durumda, files.list yönteminden ve changes.list yönteminden uygulama verileri döndürür, ancak performansı yavaşlatır. v3'te, drive.appdata kapsamını ve spaces=appDataFolder sorgu parametresini uygulama verilerini isteyecek şekilde ayarladınız.
  • Tüm güncelleme işlemleri PUT yerine PATCH yöntemini kullanır.
  • Google Dokümanlarını dışa aktarmak için files.export yöntemini kullanın.
  • changes.list yönteminin davranışı farklıdır. Değişiklik kimlikleri yerine opak sayfa jetonları kullanın. Değişiklik koleksiyonunu yoklamak için önce başlangıç değeri için changes.getStartPageToken yöntemini çağırın. Sonraki sorgular için changes.list yöntemi, newStartPageToken değerini döndürür.
  • Güncelleme yöntemleri artık yazılabilir olmayan alanları belirten istekleri reddediyor.
  • about kaynağındaki v2 exportFormats ve importFormats alanları, izin verilen içe veya dışa aktarma biçimlerinin listeleridir. v3'te ise bunlar, desteklenen tüm içe veya dışa aktarma işlemleriyle olası hedeflerin MIME türü eşlemeleridir.
  • v2 appdata ve appfolder takma adları artık v3'te appDataFolder.
  • properties kaynağı v3'ten kaldırıldı. files kaynağında gerçek anahtar/değer çiftlerini içeren properties alanı bulunur. properties alanı, herkese açık mülkleri, appProperties alanı ise özel mülkleri içerdiğinden görünürlük alanına gerek yoktur.
  • files kaynağındaki modifiedTime alanı, herhangi biri dosyayı en son değiştirdiğinde güncellenir. v2'de modifiedDate alanı yalnızca setModifiedDate alanını ayarlarsanız güncelleme sırasında değiştirilebilir.
  • files kaynağındaki viewedByMeTime alanı otomatik olarak güncellenmez.
  • Google Dokümanlar biçimlerini içe aktarmak için kaynak gövdesinde uygun hedefi (mimeType) ayarlarsınız. v2'de ?convert=true değerini ayarladınız.
  • Biçim desteklenmiyorsa içe aktarma işlemleri 400 hatası döndürür.
  • Okuyucular ve yorumcular izinleri görüntüleyemez.
  • İzinler için me takma adı kaldırıldı.
  • Bazı işlevler, istek kaynağının bir parçası olarak kullanılabilir ancak bunun yerine istek parametresi olarak kullanılabilir. Örneğin:
    • v2'de, bir üst klasörden alt dosyayı kaldırmak için children.delete kullanabilirsiniz.
    • Sürüm 3'te, URL'de ?removeParents=parent_id ile alt öğede files.update kullanırsınız.

Diğer farklılıklar

Alanlar ve parametre adları v3'te farklıdır. Buna örnek olarak aşağıdakiler verilebilir:

  • name özelliği, files kaynağındaki title öğesinin yerini alır.
  • Time, tüm tarih ve saat alanları için Date yerine sonektir.
  • Liste işlemleri, sonuç grubunu içermek için items alanını kullanmaz. Kaynak türü, sonuçlar için bir alan sağlar (ör. files veya changes).