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

Google Drive API'nin en son sürümü v3'tür. Yalnızca alanların bir alt kümesi döndürüldüğünden 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şımayla ilgili bilgiler 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.

2. sürümü kullanmaya devam etmek istiyorsanız 3. sürüm kılavuzlarındaki bazı talimatların 2. sürüm geliştiricileri için nasıl değiştirilmesi gerektiğini öğrenmek üzere Drive API v2 Kılavuzu ekine bakın.

Drive API v3'teki iyileştirmeler hakkında daha fazla bilgi edinmek için Google mühendislerinin yeni API tasarımını tartıştığı 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 şu iyileştirmeleri sunar:

  • Dosya ve ortak Drive aramaları varsayılan olarak tam kaynakları döndürmez. Yalnızca sık 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 yöntemlerin neredeyse tamamı artık fields parametresini gerektiriyor. fields gerektiren tüm yöntemlerin listesi için Drive API referansı'na bakın.
  • Yinelenen özelliklere sahip kaynaklar kaldırıldı. Bazı örnekler:
    • files.list yöntemi, Children ve Parents koleksiyonlarıyla aynı işlevi yerine getirdiğinden v3'ten kaldırıldı.
    • Realtime.* yöntemleri kaldırıldı.
  • Uygulama verileri, aramalarda varsayılan olarak döndürülmez. v2'de drive.appdata kapsamını ayarlayabilirsiniz. Bu kapsam, files.list yöntemi ve changes.list yöntemiyle uygulama verilerini döndürür ancak performansı yavaşlatır. v3'te drive.appdata kapsamını ayarladınız ve ayrıca uygulama verilerini istemek için spaces=appDataFolder sorgu parametresini ayarladınız.
  • Tüm güncelleme işlemlerinde PUT yerine PATCH kullanılır.
  • Google Dokümanları'nı dışa aktarmak için files.export yöntemini kullanın.
  • changes.list yöntemi farklı şekilde çalışır. Değişiklik kimlikleri 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 sorgularda 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, desteklenen tüm içe veya dışa aktarma işlemleri için olası hedeflerin MIME türü haritalarıdır.
  • v2 appdata ve appfolder takma adları artık v3'te appDataFolder.
  • properties kaynağı v3'ten kaldırılır. files kaynağında, gerçek anahtar/değer çiftlerini içeren properties alanı var. properties alanı herkese açık mülkler, appProperties alanı ise özel mülkler içerdiğinden görünürlük alanına gerek yoktur.
  • files kaynağındaki modifiedTime alanı, dosyanın son değiştirilme zamanını günceller. v2'de modifiedDate alanı yalnızca setModifiedDate alanını ayarladıysanız güncelleme sırasında değiştirilebiliyordu.
  • 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 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ıldı.
  • Bazı işlevler, istek kaynağının bir parçası olarak kullanılabiliyordu ancak bunun yerine istek parametresi olarak kullanılabilir. Örneğin:
    • v2'de, bir alt dosyayı üst klasörden kaldırmak için children.delete kullanabilirsiniz.
    • v3'te, 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ğında title özelliğinin yerini alır.
  • Date yerine tüm tarih ve saat alanları için Time soneki kullanılır.
  • 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 (ör. files veya changes).