Bu kılavuzda, Google Drive Activity API'deki bir yanıtın ana bileşenleri açıklanmakta, örnekler ve bunların nasıl yorumlanacağı gösterilmektedir.
Nesneler
DriveActivity
: Drive Activity API'ye gönderilen sorgular tarafından döndürülen birincil kaynaktır. Bir veya daha fazla hedefi etkileyen bir veya daha fazla işlem gerçekleştiren bir veya daha fazla aktör tanımlar.Timestamp
veTimeRange
: Bu değerler, sırasıyla etkinliğin gerçekleştiği tek bir zamanı veya etkinliğin bir süre boyunca gerçekleştiği başlangıç ve bitiş zamanını tanımlar.Actor
: GenellikleActor
bir son kullanıcıdır. Ancak bazen bir sistem etkinliği, yönetici kullanıcı veya kendisi gibi davrandığında ya da kimliği tanımlanamayan bir kişi tarafından gerçekleştirildiğindeAction
tetiklenebilir.Actor
mesajı bu durumların her birini kapsar.Target
:Target
, bir etkinliğin nesnesidir (ör. dosya, klasör, ortak Drive veya dosya yorumu). Birçok işlem türünün birden fazla hedef türünü desteklediğini unutmayın. Örneğin,Edit
genellikle Drive dosyaları için geçerli olsa daRename
veCreate
gibi diğer işlemler Drive klasörleri ve ortak Drive'lar için de geçerli olabilir. Drive öğesi olmayan hedefler de Drive öğelerine referans verebilir (ör. bir Drive'ın kök klasörü veya dosya yorumu içeren üst belge).Action
: HerDriveActivity
kaynağı bir veya daha fazla ilgili işleme sahiptir.Action
, yalnızca işlemle ilgili ayrıntılı tür ve bilgileri değil, aynı zamanda birActor
, birTarget
ve birTimestamp
veyaTimeRange
içermesi bakımından etkinlik gibi bağımsızdır. Yinelenen bilgileri önlemek içinAction
, genelDriveActivity
ile aynı olduğunda kendiTarget
,Actor
veya zaman alanlarını doldurmaz.ActionDetail
:Action
ile ilgili belirli tür ve ayrıntılı bilgilerdir. Örneğin,Move
işlem ayrıntısı bir kaynak ve hedef konuma sahiptir.PermissionChange
ise bir dokümana artık kimlerin ve hangi ayrıcalıklarla erişebileceğini belirtir.
Örnek yanıtlar
Kullanıcı Drive'da bir dosyayı düzenledi:
Basit bir DriveActivity
kaynağı, yalnızca bir işlem (ör. bir kullanıcının tek bir dosyayı düzenlemesi) içerebilir.
"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. Daha fazla bilgi edinmek için People API ile kullanılabilir.
- ITEM_ID: Drive öğesinin kimliği.
- TITLE: Drive öğesinin başlığı.
Bu yanıttaki Action
, genel DriveActivity
ile aynı olduğu için Actor
, Target
veya TimeStamp
değerlerini içermez.
İki kullanıcı aynı dosyayı benzer zamanlarda düzenledi:
Birleştirme etkinleştirildiğinde ilgili işlemler tek bir grupta toplanırDriveActivity
. Bu örnekte, 2 benzer işlem gruplandırılmıştır: 2 farklı kullanıcıdan gelen bir Edit
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. Daha fazla bilgi edinmek için People API ile kullanılabilir.
- ACCOUNT_ID_2: İkinci kullanıcının kimliği.
- ITEM_ID: Drive öğesinin kimliği.
- TITLE: Drive öğesinin başlığı.
Bu yanıttaki işlemlerin, genel DriveActivity
ile aynı olduğu için Target
içermediğini unutmayın.
Örnekte, uygulamaların tek tek işlemlere bakmadan yalnızca DriveActivity
'teki özet bilgileri nasıl kullanabileceği de gösterilmektedir. Yanıt, belirli bir dosyanın bir süre boyunca 2 kullanıcı tarafından düzenlendiğini gösterir.
Bir kullanıcı 2 dosyayı yeni bir dizine taşıdı:
Bu örnekte, dosyalar aynı anda aynı kaynaktan aynı hedefe taşındığı için birleştirme stratejisi 2 ilgili Move
işlemini gruplandırmıştır.
"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. Daha fazla bilgi edinmek için People API ile kullanılabilir.
- 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, genel DriveActivity
ile aynı oldukları için Actor
veya TimeStamp
içermediğini unutmayın.