Bu kılavuzda, Google Drive Activity API v1 ile v2 arasındaki farklar ve v1 uygulamanızı v2 API'yi destekleyecek şekilde nasıl değiştireceğiniz açıklanmaktadır.
Yetkilendirme
v1 API şu kapsamı kullandı:
https://www.googleapis.com/auth/activity
v2 API için aşağıdaki kapsamlardan biri gerekir:
https://www.googleapis.com/auth/drive.activity
https://www.googleapis.com/auth/drive.activity.readonly
Kaynak adları
v1 API'de, Google Drive öğeleri ve kullanıcıları gibi nesnelerin tanımlayıcıları opak dizelerdir. v2 API'de bu nesnelere genellikle kaynak adları kullanılarak referans verilir. Daha fazla bilgi için Cloud API Tasarım Kılavuzu'na bakın.
Bu tanımlayıcılar genellikle dönüştürülebilir. Örneğin, v2 API'deki Drive öğelerine items/ITEM_ID_V1
kaynak adı kullanılarak başvuruda bulunulur.
İstekler
v2'nin istek biçimi, v1'in istek biçimiyle benzerdir. Özellikle bir Drive dosyası veya Drive üst öğesi için etkinlik isteyebilirsiniz, ancak bu istek parametrelerini ön ek olarak items/
ile kaynak adları olarak biçimlendirmeniz gerektiğini unutmayın.
"Gruplandırma" artık Birleştirme olarak adlandırılıyor. source
ve userId
istek parametreleri ise kaldırıldı.
Ayrıca, yanıtta döndürülen etkinlik verisi türlerini sınırlandırmanıza olanak tanıyan yeni Filtre seçenekleri de mevcuttur.
İşlemler
v1 API'de etkinlik türü ve bu etkinlikle ilişkilendirilen veriler ayrı alanlarda bulunuyordu. Örneğin, primaryEventType
alanı move
değerini içeriyorsa uygulamalar, eklenen ve kaldırılan üst öğeler ile üst düzey bir move
alanının doldurulduğunu varsayar.
v2 API'de bu alanlar artık ayrı değildir. ActionDetail
mesajında yalnızca bir alan grubu vardır. İşlem türünü belirtir ve o işlemle
ilişkili ayrıntıları içerir. Örneğin, bir taşıma işlemini temsil eden ActionDetail
yalnızca move
alanını ayarlar ve bu alan, eklenen ve kaldırılan üst öğeleri listeler.
v1 API primaryEventType
alanı, yaklaşık olarak v2 primaryActionDetail
'ye karşılık gelir.
Actors
v1 API'de, işlemi gerçekleştiren bilinen bir kullanıcıysa döndürülen etkinlik bir User
ve isteğe bağlı olarak özel durumlar için fromUserDeletion
gibi üst düzey bir alan içeriyordu.
v2 API'de daha zengin bir Actor
türü grubu mevcuttur ve işlemi gerçekleştiren bilinen bir kullanıcı olduğunda user.knownUser
doldurulur. Uygulamanız kullanıcılar hakkında ayrıntılı bilgiye ihtiyaç duyarsa KnownUser
alanını personName
people.get
yöntemine ileterek uygulamayı People API'den sorgulayabilir.
Hedefler
v1 API'de hedefler her zaman Drive öğeleriydi. v2 API'sinde hedefler, Drive'daki diğer nesne türleri olabilir. Örneğin, bir sürücüde yapılan değişikliklerin hedef türü Drive
olur. Ortak Drive'ın kök klasörü yine döndürülür (root
alanında DriveItem
olarak) ancak etkinliğin öncelikli hedefi değildir. Benzer bir kavram, parent
alanı hedef yorum ileti dizisini içeren Drive öğesini belirten bir FileComment
kaynağı için geçerlidir.
Birleştirilmiş etkinlik
v1 API'de bir birleştirme ("gruplandırma") stratejisi ayarlandığında yanıt stili değişti. Özellikle, birleştirme işlemi açıkken her etkinlik, bileşen singleEvents
öğesini ve bu bileşen etkinlikleri arasındaki ortak etkinliği özetleyen bir combinedEvent
içerir. Birleştirme devre dışı bırakıldığında, combinedEvent
alanında her etkinlik için orijinal birleştirilmemiş etkinlik bulunuyordu. Bu etkinliklerden herhangi biri, birden fazla işlemi (örneğin, paylaşımla birlikte oluşturma) temsil edebilir.
Döndürülen DriveActivity
her zaman tüm kullanıcıları, hedefleri ve işlemleri içerdiğinden v2 API'de yanıt stili birleştirme stratejisine göre değişmez.