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 bir alan alt kümesini döndürdüğü için v3'teki performans daha iyidir. v2 koleksiyonuna ihtiyacınız yoksa mevcut sürümü kullanın. 2. sürümü kullanıyorsanız 3. sürüme geçmeyi düşünebilirsiniz. Taşıma işlemi için Drive API v3'e geçiş 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.

2. sürümü 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 üzere Drive API v2 Kılavuzu'ndaki değişikliği inceleyin.

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

V3 iyileştirmeleri

Performansı optimize etmek ve API davranışının karmaşıklığını azaltmak için v3, önceki API sürümüne kıyasla aşağıdaki iyileştirmeleri sunar:

  • Dosya ve ortak Drive aramaları varsayılan olarak kaynakların tamamını döndürmez. Yalnızca yaygın olarak kullanılan alanların bir alt kümesi döndürülür. fields hakkında daha fazla bilgi için files.list yöntemine ve drives.list yöntemine bakın.
  • Yanıt döndüren neredeyse tüm yöntemler artık fields parametresini gerektiriyor. fields gerektiren tüm yöntemlerin listesi için Drive API referansına bakın.
  • Yinelenen özellikleri olan kaynaklar kaldırıldı. Bazı örnekler:
    • files.list yöntemi, Children ve Parents koleksiyonlarıyla aynı işlevi yerine getirdiği için bu koleksiyonlar v3'ten kaldırıldı.
    • Realtime.* yöntemleri kaldırıldı.
  • Uygulama verileri, aramalarda varsayılan olarak döndürülmez. 2. sürümde drive.appdata kapsamını ayarlayabilirsiniz. Bu kapsam, files.list yönteminden ve changes.list yönteminden uygulama verilerini döndürür ancak performansı yavaşlatır. 3. sürümde, drive.appdata kapsamını ve uygulama verilerini isteyecek spaces=appDataFolder sorgu parametresini ayarlarsınız.
  • Tüm güncelleme işlemleri PUT yerine PATCH kullanır.
  • Google Dokümanlar'ı dışa aktarmak için files.export yöntemini kullanın.
  • changes.list yönteminin davranışı farklıdır. Değişken kimlikler yerine opak sayfa jetonları kullanın. Değişiklik koleksiyonunu yoklamak için önce ilk değer 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ılamayan alanları belirten istekleri reddediyor.
  • about kaynağındaki v2 exportFormats ve importFormats alanları, izin verilen içe aktarma veya dışa aktarma biçimlerinin listeleridir. 3. sürümde, desteklenen tüm içe veya dışa aktarma işlemlerinin olası hedeflerinin MIME türü eşlemeleridir.
  • v2 appdata ve appfolder takma adları artık v3'te appDataFolder olarak değiştirildi.
  • 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çerir. Bu nedenle görünürlük alanına gerek yoktur.
  • files kaynağındaki modifiedTime alanı, dosyanın son değiştirilme tarihini günceller. 2. sürümde modifiedDate alanı yalnızca setModifiedDate alanını ayarlarsanız güncelleme sırasında değiştirilebilirdi.
  • 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 belirlersiniz. 2. sürümde ?convert=true değerini ayarlarsı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ılır.
  • Bazı işlevler istek kaynağının bir parçası olarak kullanılabiliyordu ancak artık istek parametresi olarak kullanılabiliyor. Örneğin:
    • 2. sürümde, bir alt dosyayı üst klasörden kaldırmak için children.delete kullanabilirsiniz.
    • 3. sürümde, URL'de ?removeParents=parent_id ile birlikte 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 özelliğinin yerini alır.
  • Time, tüm tarih ve saat alanlarının Date yerine ekidir.
  • Liste işlemleri, sonuç kümesini içermek için items alanını kullanmaz. Kaynak türü, sonuçlar için bir alan sağlar (files veya changes gibi).