Google Drive Activity API'de istek gönderme

Bu kılavuzda, activity.query yöntemini kullanabilirsiniz.

Sorgu anahtarı

Etkinlik istemenin 2 yolu vardır: Google Drive öğesine göre veya her şey için kullanabilirsiniz.

  • itemName: Bu anahtarın biçimi "items/ITEM_ID" şeklindedir. Bu genellikle bir Drive'daki dosya. Bu anahtar için bir klasör belirtirseniz etkinlik gösterilir (örneğin, oluşturulduğu veya yeniden adlandırıldığı zaman) gösterilir.

  • ancestorName: Bu anahtarın biçimi "items/ITEM_ID" ve yanıt, bunun altında alt ağaçta bulunan tüm öğelerle ilgili etkinliği içerir tıklayın.

Herhangi bir anahtar ayarlanmazsa varsayılan olarak "items/root"un ancestorName kadarı kullanılır ve Drive'ınızdaki tüm öğelere ilişkin etkinliği gösterir.

Sayfalara ayırma

pageSize alanı, yaklaşık etkinlik sayısı istemenize olanak tanır. ifadesini girin. Döndürülen etkinliklerin gerçek sayısı değişiklik gösterebilir. Bu nedenle uygulamanız, yanıtta rastgele miktarları işlemelidir.

Sayfa boyutları sınırlıdır. Uygulamanızda çok sayıda etkinlik gerekiyorsa istekleri için sayfalandırmayı kullanın. Bunun yerine, pageSize için büyük bir değer ayarlayın. Daha ayrıntılı olarak belirtmek gerekirse, yanıtta bir nextPageToken ifadesi de yer alır. Geri almak için daha fazla sonuç varsa aynı isteği yineleyin ancak şu değere sahip bir pageToken alanı ekleyin: Önceki yanıta göre nextPageToken.

Birleştirme

Action nesne genellikle gruplandırılır ve tek bir nesne içinde döndürülür. DriveActivity kaynak. Bazı Action gruplamalar kendiliğinden gerçekleşir, örneğin bir öğeyi öğesini paylaşılan bir klasöre saklayarak bir izin değişikliği tetikler.

Ayrıca, ConsolidationStrategy (bazen toplama veya toplu hale getirme olarak da adlandırılır). Bu durumda, ilgili Action nesnelerinden oluşan diğer gruplar (ör. birini düzenleyen birkaç aktör) öğesi veya bir Actor birden çok dosyayı yeni Drive klasörüne taşıyorsa.

Tek bir Action için bir Actor ve bir Target bulunurken gruplandırmadan sonra sonuçta ortaya çıkan DriveActivity birden fazla aktör ve birden çok hedefe sahip olabilir. Bununla birlikte, gruplandırmadan sonra bile her zaman "birincil" bu da gerçekleşen tüm işlemleri temsil eden, İstenen birleştirme stratejisine bağlı olarak DriveActivity kaynak.

Bu nedenle, birleştirmenin etkin olup olmamasına bakılmaksızın bir DriveActivity kaynağın yalnızca üst düzey içeriğini (örneğin, primaryActionDetail dahilindeki ortak aktörler ile hedefleri) ve işlemler hakkında daha fazla bilgi edineceksiniz.

Filtreler

DriveActivity içinde döndürülebilecek işlemleri kısıtlayabilirsiniz. activity.query isteğinde bir filter dizesi oluşturarak Evet, Desteklenen 2 alan: time ve detail.action_detail_case.

Zamana göre filtrele

İşlemleri zaman aralığına göre kısıtlamak için time alan adını sayısal değerlerle belirtin isteğe bağlı "AND" ile birleştirilen tarih değerlerine yerleştirilecek operatörler. 1 Ocak 1970 tarihinden itibaren milisaniye veya RFC 3339 biçimi, örneğin:

  • time > 1452409200000 AND time <= 1492812924310
  • time >= "2016-01-10T01:02:03-05:00"

Türe göre filtrelenir

İşlem türüne göre kısıtlamak için detail.action_detail_case alan adını şununla uygulayın: "has" operatörü (:). Tekil bir değer veya izin verilen işlem listesi kullanın parantez içine alınmış ve boşlukla ayrılmış türler. Bir işlem listesi bulmak için ActionDetail nesnelerini inceleyin.

Bir işlem türünü yanıttan hariç tutmak için: Filtre dizesinin başına kısa çizgi (-) ekleyin.

Aşağıda bazı işlem türü örnekleri verilmiştir:

  • detail.action_detail_case:RENAME
  • detail.action_detail_case:(CREATE RESTORE)
  • -detail.action_detail_case:MOVE

Kombinasyonlar

Bu filtreleme koşulları tek bir filter dizesi içinde birleştirilebilir. Örneğin:

  • detail.action_detail_case:(CREATE EDIT RESTORE) time > 1452409200000

Örnek istekler

Bir Drive öğesi için en son 10 etkinliği isteyin:

{
  "itemName": "items/ITEM_ID",
  "pageSize": 10
}

Bir üst öğe klasörünün altındaki her Drive öğesi için birleştirilmiş etkinlikler isteyin:

{
  "ancestorName": "items/ITEM_ID",
  "consolidationStrategy": {
    "legacy": {}
  }
}

Bir Drive öğesinde tüm MOVE ve RENAME işlemlerini iste:

{
  "itemName": "items/ITEM_ID",
  "filter": "detail.action_detail_case:(MOVE RENAME)"
}

1 Ocak 2018 EST'den sonraki tüm etkinlikleri iste:

{
  "ancestorName": "items/root",
  "filter": "time >= \"2018-01-01T00:00:00-05:00\""
}

Haziran 2017 (UTC) sırasında EDIT işlemleri hariç tüm etkinlikleri isteyin:

{
  "ancestorName": "items/root",
  "filter": "time >= \"2018-06-01T00:00:00Z\" time < \"2018-07-01T00:00:00Z\" -detail.action_detail_case:EDIT"
}