Bu kılavuzda, Google Drive Activity API'sindeki bir yanıtın ana bileşenleri, örnekler ve bunların nasıl yorumlanacağı açıklanır.
Nesneler
DriveActivity
: Bu, Drive Activity API'ye yapılan sorgular tarafından döndürülen birincil kaynaktır. Bir veya daha fazla hedefi etkileyen bir veya daha fazla işlemi gerçekleştiren bir ya da daha fazla aktörü açıklar.Timestamp
veTimeRange
: Bunlar sırasıyla etkinliğin gerçekleştiği tek bir zamanı veya etkinliğin belirli bir süre içinde gerçekleştiği zamanın başlangıcı ve bitişini tanımlar.Actor
: Genel olarak,Actor
bir son kullanıcıdır. Bununla birlikte, bazen bir yönetici kullanıcı veya kendisi gibi hareket ettiğinde ya da kimliği tanımlanamayan bir kişi tarafından gerçekleştirildiğinde sistem etkinlikleri birAction
'i tetikleyebilir.Actor
mesajı, bu durumların her birini içerir.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 de bir Drive'ın kök klasörü veya dosya yorumunu içeren üst doküman gibi bir hedefe referans verebilir.Action
: HerDriveActivity
kaynağının bir veya daha fazla ilgili işlemi vardır.Action
, etkinlik gibi bağımsız bir öğedir. Çünkü yalnızca işlemle ilgili ayrıntılı türü ve bilgileri değil, aynı zamanda birActor
,Target
ve birTimestamp
veyaTimeRange
da içerir.Action
, tekrarlılığı önlemek için genelDriveActivity
ile aynı olduğunda kendiTarget
,Actor
ya da zaman alanlarını doldurmaz.ActionDetail
: Bu,Action
ile ilgili özel tür ve ayrıntılı bilgilerdir. Örneğin,Move
işlemi ayrıntısının bir kaynak ve hedef konumu vardır.PermissionChange
, bir dokümana kimlerin artık hangi ayrıcalıklarla erişebileceğini belirtir.
Örnek yanıtlar
Bir kullanıcı Drive'da bir dosyayı düzenledi:
Basit bir DriveActivity
kaynağı, bir kullanıcının tek bir dosyayı düzenlemesi gibi yalnızca bir işlem 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 almak için People API ile birlikte kullanılabilir.
- ITEM_ID: Drive öğesinin kimliği.
- TITLE: Drive öğesinin başlığı.
Bu yanıttaki Action
, genel DriveActivity
ile aynı olduğundan Actor
, Target
veya TimeStamp
öğelerini içermiyor.
İki kullanıcı aynı dosyayı benzer zamanlarda düzenledi:
Birleştirme etkinleştirildiğinde, ilgili işlemler tek bir DriveActivity
altında gruplanır. Bu örnekte 2 benzer işlem gruplanmıştır: 2 farklı kullanıcıya ait 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 Kişiler API ile birlikte kullanılabilir.
- ACCOUNT_ID_2: İkinci kullanıcının kimliği.
- ITEM_ID: Drive öğesinin kimliği.
- TITLE: Drive öğesinin başlığı.
Genel DriveActivity
ile aynı olduğundan bu yanıttaki işlemlerin Target
öğesini içermediğini unutmayın.
Örnekte, uygulamaların tek tek işlemlere bakmadan DriveActivity
öğesinde yalnızca özet bilgileri nasıl kullanabileceği de gösterilmektedir. Yanıtta, 2 kullanıcının belirli bir dosyayı belirli bir süre içinde düzenlediği belirtilir.
Bir kullanıcı 2 dosyayı yeni bir dizine taşıdı:
Bu örnekte, birleştirme stratejisi, dosyalar aynı anda aynı kaynaktan aynı hedefe taşındığından 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 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: İkinci Drive öğesinin başlığı.
Genel DriveActivity
ile aynı olduklarından bu yanıttaki işlemlerin Actor
veya TimeStamp
öğelerini içermediğine dikkat edin.