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
: Bunlar 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ı açıklar.Actor
:Actor
genellikle son kullanıcıdır. Ancak bazen bir yönetici kullanıcı veya kendisi gibi davrandığında ya da kimliği tanımlanamayan bir kişi tarafından işlem yapıldığında sistem etkinliğiAction
tetiklenebilir.Actor
mesajı bu durumların her birini kapsar.Target
:Target
, bir etkinliğin nesnesi olan dosya, klasör, ortak Drive veya dosya yorumu gibi öğelerdir. 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 atıfta bulunabilir (ör. bir Drive'ın kök klasörü veya dosya yorumu içeren üst doküman).Action
: HerDriveActivity
kaynağının bir veya daha fazla ilgili işlemi vardır.Action
, etkinlik gibi kendi kendine yeten bir öğedir. Yalnızca işlemle ilgili ayrıntılı türü ve bilgileri değil, aynı zamanda birActor
, birTarget
ve birTimestamp
veyaTimeRange
içerir. Yinelenen bilgileri önlemek içinAction
, genelDriveActivity
ile aynı olan kendiTarget
,Actor
veya zaman alanlarını doldurmaz.ActionDetail
: Bu,Action
ile ilgili belirli tür ve ayrıntılı bilgilerdir. Örneğin,Move
işlem ayrıntısında bir kaynak ve hedef konum bulunur.PermissionChange
ise bir belgeye artık kimlerin ve hangi ayrıcalıklarla erişebileceğini belirtir.
Örnek yanıtlar
Örnek yanıtları görmek için aşağıdakileri inceleyin.
Kullanıcı Drive'da bir dosyayı düzenledi
DriveActivity
kaynağı, yalnızca bir işlem (ör. bir kullanıcının tek bir dosyayı düzenlemesi) içerebilir.
"activities":[{
"primaryActionDetail":{ "edit":{} },
"actors":[ { "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID" } } } ],
"targets":[ { "driveItem":{ "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
nesnesi, genel DriveActivity
ile aynı olduğu için Actor
, Target
veya timestamp
öğelerini içermez.
İki kullanıcı aynı dosyayı benzer zamanlarda düzenledi
Bir ConsolidationStrategy
kullanıldığında, ilgili işlemler tek bir birleşik DriveActivity
altında gruplandırılır. Bu örnekte, iki benzer işlem gruplandırılmıştır: iki farklı kullanıcıdan gelen bir Edit
işlem türü.
"activities":[{
"primaryActionDetail":{ "edit":{} },
"actors":[
{ "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID_1" } } },
{ "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID_2" } } }
],
"targets":[
{ "driveItem":{ "name":"items/ITEM_ID", "title":"TITLE", "file":{} } }
],
"timeRange":{
"startTime":{ "seconds":"1541089823", "nanos":712000000 },
"endTime":{ "seconds":"1541089830", "nanos":830000000 }
},
"actions":[
{
"detail":{ "edit":{} },
"actor":{ "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID_1" } } },
"timestamp":{ "seconds":"1541089830", "nanos":830000000 }
},
{
"detail":{ "edit":{} },
"actor":{ "user":{ "knownUser":{ "personName":"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 Action
nesnesinin, 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
içindeki özet bilgileri nasıl kullanabileceği de gösterilmektedir. Yanıt, belirli bir dosyanın bir süre boyunca iki kullanıcı tarafından düzenlendiğini gösterir.
Bir kullanıcı iki dosyayı yeni bir dizine taşıdı
Bu örnekte, dosyalar aynı anda aynı kaynaktan aynı hedefe taşındığı için ConsolidationStrategy
, iki ilgili Move
işlemini gruplandırmıştır.
"activities":[{
"primaryActionDetail":{
"move":{
"addedParents":[ { ... } ]
"removedParents":[ { ... } ]
}
},
"actors":[ { "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID" } } } ],
"targets":[
{ "driveItem":{ "name":"items/ITEM_ID_1", "title":"TITLE_1", "file":{} } },
{ "driveItem":{ "name":"items/ITEM_ID_2", "title":"* TITLE_2", "file":{} } }
],
"timestamp":{ "seconds":"1541090960", "nanos":985000000 },
"actions":[
{
"detail":{ "move":{ "addedParents":[ { ... } ] "removedParents":[ { ... } ] } },
"target":{ "driveItem":{ "name":"items/ITEM_ID_1", "title":"TITLE_1", "file":{} } }
},
{
"detail":{ "move":{ "addedParents":[ { ... } ] "removedParents":[ { ... } ] } },
"target":{ "driveItem":{ "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 Action
nesnesi, genel DriveActivity
ile aynı olduğu için Actor
veya timestamp
öğelerini içermez.