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.TimestampveTimeRange: 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:Actorgenellikle 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ğiActiontetiklenebilir.Actormesajı 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,Editgenellikle Drive dosyaları için geçerli olsa daRenameveCreategibi 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: HerDriveActivitykaynağı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, birTargetve birTimestampveyaTimeRangeiçerir. Yinelenen bilgileri önlemek içinAction, genelDriveActivityile aynı olan kendiTarget,Actorveya zaman alanlarını doldurmaz.ActionDetail: Bu,Actionile ilgili belirli tür ve ayrıntılı bilgilerdir. Örneğin,Moveişlem ayrıntısında bir kaynak ve hedef konum bulunur.PermissionChangeise 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.