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

En son Google Drive API 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 mevcut sürümü kullanın. v2'yi kullanıyorsanız v3'e geçebilirsiniz. Taşıma işlemi için Drive API v3'e Taşıma başlıklı makaleye bakın. Sürüm farklılıklarının tam listesi için Drive API v2 ve v3 karşılaştırma referansı bölümüne 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 üzere Drive API v2 Kılavuzu değişikliğine 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 aşağıdaki iyileştirmeleri sunar:

  • Dosya ve ortak Drive aramaları varsayılan olarak kaynakların tamamını 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öntemini ve drives.list yöntemini inceleyin.
  • Yanıt döndüren neredeyse tüm yöntemler artık fields parametresini gerektirir. 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 sağladığından 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 ayar, files.list ve changes.list yönteminden uygulama verilerini döndürür ancak performansı yavaşlatır. v3'te drive.appdata kapsamını ayarlarsınız ve ayrıca spaces=appDataFolder sorgu parametresini uygulama verilerini isteyecek şekilde ayarlarsınız.
  • Tüm güncelleme işlemleri PUT yerine YAMA 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 sorgularda changes.list yöntemi newStartPageToken değerini döndürür.
  • Güncelleme yöntemleri artık yazılamayan alanları belirten istekleri reddeder.
  • about kaynağındaki v2 exportFormats ve importFormats alanları, izin verilen içe veya dışa aktarma biçimlerinin listesidir. v3'te bunlar, desteklenen tüm içe veya dışa aktarma işlemlerine yönelik olası hedeflerin MIME türü eşlemeleridir.
  • v2 appdata ve appfolder takma adları 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ı, herhangi bir kullanıcı dosyayı en son değiştirdiğinde güncellenir. v2'de modifiedDate alanı yalnızca setModifiedDate alanını ayarlarsanız güncelleme durumunda değişebilir.
  • 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 durumdaydı, ancak bunun yerine istek parametresi olarak kullanılabilir durumdaydı. Örneğin:
    • v2'de bir alt dosyayı üst klasörden kaldırmak için children.delete kullanabilirsiniz.
    • v3'te, alt öğede URL'de ?removeParents=parent_id ile files.update ifadesini kullanıyorsunuz.

Diğer farklılıklar

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

  • name özelliği, files kaynağında title öğesinin yerini alır.
  • Time, tüm tarih ve saat alanları için Date yerine sonektir.
  • 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).