Drive Activity API veri modeli

Bu kılavuzda, Google Drive Activity API'deki bir yanıtın ana bileşenleri açıklanmaktadır. ve bunların nasıl yorumlanacağını gösterir.

Nesneler

  • DriveActivity: Bu Sorguların Drive Activity API'ye döndürdüğü birincil kaynak. Google bir veya daha fazla aktörü, bir ya da daha fazla işlemi etkileyen bir daha fazla hedef koyabilirsiniz.

  • Timestamp ve TimeRange: Bunlar ya da etkinliğin gerçekleştiği tek bir noktayı etkinliğin gerçekleştiği zamanın başlangıcı ve bitişi gerekir.

  • Actor - Actor genellikle son kullanıcı. Ancak bazen, bir sistem etkinliği Action Bir yönetici, bir kullanıcı olarak veya kimliği belli olmayan bir kişi tarafından gerçekleştirildiğinde gerçekleşebilir. İlgili içeriği oluşturmak için kullanılan Actor mesajı, bu durumların her birini kapsar.

  • Target: Target, nesnedir dosya, klasör, ortak Drive veya dosya yorumu gibi bir etkinliğin Birçok işlem türünün birden fazla hedef türünü desteklediğini unutmayın. Örneğin, Örneğin, Edit genellikle Drive dosyaları için geçerli olsa da, diğer Rename ve Create gibi işlemler Drive'a da uygulanabilir klasörleri ve ortak drive'ları seçin. Drive öğesi olmayan hedefler yine de bir sürücünün kök klasörü veya üst klasör gibi birine başvuruda bulunabilir dosya yorumu içeren bir dokümandır.

  • Action - Her bir DriveActivity kaynakta bir veya daha fazla ilgili işlem bulunuyor. Action bağımsız bir yapıdadır, gibi etkinliğinin yalnızca ayrıntılı türü ve bilgileri değil, işlem hakkında, ayrıca bir Actor, bir Target ve bir Timestamp veya TimeRange. Yedeklilikleri önlemek için Action kendi alanını doldurmaz Genel değerle aynı olduğunda Target, Actor veya zaman alanları DriveActivity.

  • ActionDetail: Bu, Action hakkında ayrıntılı bilgi için tıklayın. Örneğin, Move işlem ayrıntısında bir kaynak ve hedef konum, ayrıca bir PermissionChange, bir dokümana artık kimin ne ile erişebileceğini belirtir ayrıcalıkları.

Örnek yanıtlar

Bir kullanıcı Drive'daki bir dosyayı düzenledi:

Basit bir DriveActivity kaynağı, kullanıcı gibi yalnızca tek bir işlem içerebilir. tek bir dosya düzenlerken.

"activities":[{
  "primary_action_detail":{ "edit":{} },
  "actors":[ { "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID" } } } ],
  "targets":[ { "drive_item":{ "name":"items/ITEM_ID", "title":"TITLE", "file":{} } } ],
  "timestamp":{ "seconds":"1536794657", "nanos":791000000 },
  "actions":[ { "detail":{ "edit":{} } } ]
}]

Bu çıkış aşağıdaki değerleri içerir:

  • ACCOUNT_ID: Kullanıcının kimliği. ile kullanılabilir People API'yi ziyaret edin.
  • ITEM_ID: Drive öğesinin kimliği.
  • TITLE: Drive öğesinin başlığı.

Bu yanıttaki Action öğesinin Actor, Target, veya TimeStamp, genel olarak DriveActivity ile aynı.

İki kullanıcı aynı dosyayı benzer zamanlarda düzenledi:

Birleştirme etkinleştirildiğinde, ilgili işlemler tek bir grupta toplanır. DriveActivity Bu örnekte 2 benzer işlem gruplandırılmıştır: bir Edit 2 farklı kullanıcıdan alınan işlem türü.

"activities":[{
  "primary_action_detail":{ "edit":{} },
  "actors":[
    { "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_1" } } },
    { "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_2" } } }
  ],
  "targets":[
    { "drive_item":{ "name":"items/ITEM_ID", "title":"TITLE", "file":{} } }
  ],
  "time_range":{
    "start_time":{ "seconds":"1541089823", "nanos":712000000 },
    "end_time":{ "seconds":"1541089830", "nanos":830000000 }
  },
  "actions":[
    {
      "detail":{ "edit":{} },
      "actor":{ "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_1" } } },
      "timestamp":{ "seconds":"1541089830", "nanos":830000000 }
    },
    {
      "detail":{ "edit":{} },
      "actor":{ "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_2" } } },
      "timestamp":{ "seconds":"1541089823", "nanos":712000000 }
    }
  ]
}]

Bu çıkış aşağıdaki değerleri içerir:

  • ACCOUNT_ID_1: İlk kullanıcının kimliği. Bununla birlikte, Contact API'yi ziyaret edin.
  • ACCOUNT_ID_2: ikinci kullanıcının kimliği.
  • ITEM_ID: Drive öğesinin kimliği.
  • TITLE: Drive öğesinin başlığı.

Bu yanıttaki işlemlerin Target özelliğini içermediğini unutmayın, çünkü genel olarak DriveActivity ile aynı.

Bu örnek, uygulamaların bir Google dokümanında yalnızca özet bilgileri nasıl kullanabileceğini DriveActivity, ayrı ayrı işlemlere bakmadan gösterilir. Yanıt 2 kullanıcının belirli bir zaman aralığı boyunca belirli bir dosyayı düzenlediğini gösterir.

Bir kullanıcı 2 dosyayı yeni bir dizine taşıdı:

Bu örnekte, birleştirme stratejisi 2 ilgili Move işlemini gruplandırmıştır. çünkü dosyalar aynı kaynaktan aynı hedefe taşındığı için anlamına gelir.

"activities":[{
  "primary_action_detail":{
    "move":{
      "added_parents":[ { ... } ]
      "removed_parents":[ { ... } ]
    }
  },
  "actors":[ { "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID" } } } ],
  "targets":[
    { "drive_item":{ "name":"items/ITEM_ID_1", "title":"TITLE_1", "file":{} } },
    { "drive_item":{ "name":"items/ITEM_ID_2", "title":"* TITLE_2", "file":{} } }
  ],
  "timestamp":{ "seconds":"1541090960", "nanos":985000000 },
  "actions":[
    {
      "detail":{ "move":{ "added_parents":[ { ... } ] "removed_parents":[ { ... } ] } },
      "target":{ "drive_item":{ "name":"items/ITEM_ID_1", "title":"TITLE_1", "file":{} } }
    },
    {
      "detail":{ "move":{ "added_parents":[ { ... } ] "removed_parents":[ { ... } ] } },
      "target":{ "drive_item":{ "name":"items/ITEM_ID_2", "title":"* TITLE_2", "file":{} } }
    }
  ]
}]

Bu çıkış aşağıdaki değerleri içerir:

  • ACCOUNT_ID: Kullanıcının kimliği. ile kullanılabilir People API'yi ziyaret edin.
  • ITEM_ID_1: İlk Drive öğesinin kimliği.
  • ITEM_ID_2: İkinci Drive öğesinin kimliği.
  • TITLE_1: İlk Drive öğesinin başlığı.
  • TITLE_2: ikinci Drive öğesinin başlığı.

Bu yanıttaki işlemlerin Actor veya TimeStamp öğelerini içermediğini unutmayın çünkü genel olarak DriveActivity ile aynı.