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 2. Sürüm Kılavuzu ekini inceleyin.
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.
fieldshakkında daha fazla bilgi içinfiles.listyöntemine vedrives.listyöntemine bakın. - Yanıt döndüren yöntemlerin neredeyse tamamı artık
fieldsparametresini gerektiriyor.fieldsgerektiren tüm yöntemlerin listesi için Drive API referansı'na bakın. - Yinelenen özelliklere sahip kaynaklar kaldırıldı. Bazı örnekler:
files.listyöntemi,ChildrenveParentskoleksiyonları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.appdatakapsamını ayarlayabilirsiniz. Bu kapsam,files.listyöntemi vechanges.listyöntemiyle uygulama verilerini döndürür ancak performansı yavaşlatır. v3'tedrive.appdatakapsamını ayarladınız ve ayrıca uygulama verilerini istemek içinspaces=appDataFoldersorgu parametresini ayarladınız. - Tüm güncelleme işlemleri PUT yerine PATCH kullanır.
- Google Dokümanları'nı dışa aktarmak için
files.exportyöntemini kullanın. changes.listyö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çinchanges.getStartPageTokenyöntemini çağırın. Sonraki sorgular içinchanges.listyönteminewStartPageTokendeğerini döndürür.- Güncelleme yöntemleri artık yazılabilir olmayan alanları belirten istekleri reddediyor.
aboutkaynağındaki v2exportFormatsveimportFormatsalanları, 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
appdataveappfoldertakma adları artık v3'teappDataFolder. propertieskaynağı v3'ten kaldırılır.fileskaynağında, gerçek anahtar/değer çiftlerini içerenpropertiesalanı var.propertiesalanı herkese açık mülkler,appPropertiesalanı ise özel mülkler içerdiğinden görünürlük alanına gerek yoktur.fileskaynağındakimodifiedTimealanı, dosyanın son değiştirilme zamanını günceller. v2'demodifiedDatealanı yalnızcasetModifiedDatealanını ayarladıysanız güncelleme sırasında değiştirilebiliyordu.fileskaynağındakiviewedByMeTimealanı otomatik olarak güncellenmez.- Google Dokümanlar biçimlerini içe aktarmak için kaynak gövdesinde uygun hedefi
mimeTypeayarlarsınız. v2'de?convert=truedeğ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
metakma 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.deletekullanabilirsiniz. - v3'te, URL'de
?removeParents=parent_idbulunan alt öğedefiles.updatekullanırsınız.
- v2'de, bir alt dosyayı üst klasörden kaldırmak için
Diğer farklılıklar
Alanlar ve parametre adları v3'te farklıdır. Buna örnek olarak aşağıdakiler verilebilir:
nameözelliği,fileskaynağındatitleözelliğinin yerini alır.Dateyerine tüm tarih ve saat alanları içinTimesoneki kullanılır.- Liste işlemleri, sonuç kümesini içermek için
itemsalanını kullanmaz. Kaynak türü, sonuçlar için bir alan sağlar (ör.filesveyachanges).