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 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 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 tüm kaynakları 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çinfiles.list
yöntemine vedrives.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
veParents
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 vechanges.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 isteyecekspaces=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şen kimlikler yerine opak sayfa jetonları kullanın. Değişiklik koleksiyonunu yoklamak için önce ilk değer içinchanges.getStartPageToken
yöntemini çağırın. Sonraki sorgular içinchanges.list
yönteminewStartPageToken
değerini döndürür.- Güncelleme yöntemleri artık yazılamayan alanları belirten istekleri reddediyor.
about
kaynağındaki v2exportFormats
veimportFormats
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
veappfolder
takma adları artık v3'teappDataFolder
olarak değiştirildi. properties
kaynağı, v3'ten kaldırıldı.files
kaynağında, gerçek anahtar/değer çiftlerini içerenproperties
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ğındakimodifiedTime
alanı, dosyanın en son değiştirildiği zamanı günceller. 2. sürümdemodifiedDate
alanı yalnızcasetModifiedDate
alanını ayarlarsanız güncelleme sırasında değiştirilebilirdi.files
kaynağındakiviewedByMeTime
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 öğedefiles.update
kullanırsınız.
- 2. sürümde, 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,files
kaynağındakititle
özelliğinin yerini alır.Time
, tüm tarih ve saat alanlarınınDate
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
veyachanges
gibi).