Bu kılavuzda, Google Drive Activity API'deki bir yanıtın ana bileşenleri açıklanır, örnekler gösterilmektedir. Bunlar nasıl yorumlanır?
Nesneler
DriveActivity
: Bu, Drive Activity API'ye 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
: Bunlar sırasıyla etkinliğin gerçekleştiği tek bir noktayı veya etkinliğin belirli bir süre içinde gerçekleştiği zamanın başlangıcını ve bitişini tanımlar.Actor
:Actor
, genellikle son kullanıcıdır. Ancak bir sistem etkinliği, bazen yönetici kullanıcı veya kendisi olarak hareket ettiğinde ya da kimliği bilinmeyen bir kişi tarafından gerçekleştirildiğindeAction
'i tetikleyebilir.Actor
mesajı, bu durumların her birini kapsar.Target
-Target
; dosya, klasör, ortak Drive veya dosya yorumu gibi bir etkinliğin nesnesidir. 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 ise Drive'ın kök klasörü veya dosya yorumu içeren üst doküman gibi bunlardan birine başvuruda bulunabilir.Action
: HerDriveActivity
kaynağının bir veya daha fazla ilgili işlemi vardır.Action
yalnızca işlemle ilgili ayrıntılı tür ve bilgilerin yanı sıra birActor
,Target
ve birTimestamp
veyaTimeRange
öğelerini de içermesi nedeniyle etkinlik gibi bağımsız bir öğedir. Tekrarları önlemek içinAction
, genel olarakDriveActivity
ile aynı olduğunda kendiTarget
,Actor
veya zaman alanlarını doldurmaz.ActionDetail
: Bu, birAction
ile ilgili özel tür ve ayrıntılı bilgidir. Örneğin,Move
işlem ayrıntısı hem kaynak hem de hedef konuma sahipkenPermissionChange
artık bir dokümana kimlerin hangi ayrıcalıklarla erişebileceğini belirtir.
Örnek yanıtlar
Bir kullanıcı Drive'daki bir dosyayı düzenledi:
Basit bir DriveActivity
kaynağında tek bir işlem (ör. kullanıcının tek bir dosyayı düzenlemesi) bulunabilir.
"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 almak için People API ile birlikte kullanılabilir.
- ITEM_ID: Drive öğesinin kimliği.
- TITLE: Drive öğesinin başlığı.
Genel DriveActivity
ile aynı oldukları için bu yanıttaki Action
öğesinin Actor
, Target
veya TimeStamp
özelliklerini içermediğini unutmayın.
İki kullanıcı aynı dosyayı benzer zamanlarda düzenledi:
Birleştirme etkinleştirildiğinde ilgili işlemler tek bir DriveActivity
altında gruplandırılır. Bu örnekte 2 benzer işlem gruplandırılmıştır: 2 farklı kullanıcıdan alınan 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 almak için People API ile birlikte kullanılabilir.
- ACCOUNT_ID_2: ikinci kullanıcının kimliği.
- ITEM_ID: Drive öğesinin kimliği.
- TITLE: Drive öğesinin başlığı.
Genel olarak DriveActivity
ile aynı olduğundan bu yanıttaki işlemlerin Target
özelliğini içermediğini unutmayın.
Örnekte, uygulamaların ayrı ayrı işlemlere bakmadan yalnızca DriveActivity
içindeki özet bilgileri nasıl kullanabileceği de gösterilmektedir. Yanıt, 2 kullanıcının belirli bir zaman aralığı boyunca belirli bir dosyayı düzenlediğini belirtir.
Bir kullanıcı 2 dosyayı yeni bir dizine taşıdı:
Bu örnekte, birleştirme stratejisi, dosyalar aynı kaynaktan aynı hedefe aynı anda taşındığı için ilgili 2 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 almak için People API ile birlikte 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ığı.
Genel olarak DriveActivity
ile aynı oldukları için bu yanıttaki işlemlerin Actor
veya TimeStamp
özelliklerini içermediğini unutmayın.