Drive Activity API v1'den geçiş

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.