במדריך הזה מוסבר על הרכיבים העיקריים בתשובה ב-Google Drive Activity API, דוגמאות ואיך לפרש אותן.
אובייקטים
DriveActivity
– זה המשאב הראשי שמוחזר בעקבות שאילתות ל-Drive Activity API. הוא מתאר שחקן אחד או יותר שמבצע פעולה אחת או יותר שמשפיעות על אחד או יותר יעדים רבים יותר.Timestamp
וגםTimeRange
– לתאר, בהתאמה, נקודת זמן יחידה שבה פעילות שהתרחש, או ההתחלה והסיום של המועד שבו התרחשה הפעילות במשך פרק זמן של בזמן האימון.Actor
– בדרך כלל,Actor
הוא משתמש קצה. עם זאת, לפעמים אירוע מערכת יכול להפעילAction
כשאדמין פועל של המשתמש או של עצמם, או כשמתבצע על-ידי אדם בלתי ניתן לזיהוי. כל אחד מהמקרים האלה כולל הודעה אחת (Actor
).Target
–Target
הוא האובייקט של פעילות, כמו קובץ, תיקייה, אחסון שיתופי או תגובה לקובץ. לתשומת ליבכם: יש הרבה סוגי פעולות שתומכים ביותר מסוג אחד של טירגוט. עבור לדוגמה,Edit
חל בדרך כלל על קבצים ב-Drive, פעולות כמוRename
ו-Create
יכולות לחול גם על Drive תיקיות או תיקיות אחסון שיתופי. יעדים שהם לא פריטים ב-Drive עדיין יכול להפנות לקובץ אחד, למשל תיקיית הבסיס של תיקיית האחסון או תיקיית ההורה. מסמך שמכיל תגובה לקובץ.Action
– כלDriveActivity
למשאב יש פעולה קשורה אחת או יותר.Action
עומד בפני עצמו, כמו האירוע, בכך שהוא כולל לא רק את הסוג והמידע המפורט על הפעולה, אבל גםActor
,Target
וגםTimestamp
אוTimeRange
. כדי למנוע יתירות,Action
לא מאוכלס באופן עצמאיTarget
,Actor
או שעה, אם הם זהים לשדה הכוללDriveActivity
ActionDetail
– זה סוג ספציפי ומידע מפורט עלAction
. לדוגמה, לפרטי הפעולה שלMove
יש מיקום של מקור ויעד, וגםPermissionChange
מציין מי יכול עכשיו לגשת למסמך ועם מה הרשאות.
תשובות לדוגמה
משתמש ערך קובץ ב-Drive:
משאב פשוט של DriveActivity
עשוי לכלול פעולה אחת בלבד, כמו משתמש
עריכה של קובץ אחד.
"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":{} } } ]
}]
הפלט הזה כולל את הערכים הבאים:
- ACCOUNT_ID: מזהה המשתמש. אפשר להשתמש בו עם API של אנשים כדי לקבל מידע נוסף.
- ITEM_ID: מזהה הפריט ב-Drive.
- TITLE: שם הפריט ב-Drive.
לתשומת ליבך, Action
בתשובה הזו לא כולל את Actor
, Target
,
או TimeStamp
כי הם זהים ל-DriveActivity
הכולל.
שני משתמשים ערכו את אותו הקובץ בזמנים דומים:
כשהאיחוד מופעל, הפעולות הקשורות מקובצות יחד
DriveActivity
בדוגמה הזו, 2 פעולות דומות מקובצות: אחת Edit
פעולה משני משתמשים שונים.
"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 }
}
]
}]
הפלט הזה כולל את הערכים הבאים:
- ACCOUNT_ID_1: המזהה של המשתמש הראשון. אפשר להשתמש בו עם People API כדי לקבל מידע נוסף.
- ACCOUNT_ID_2: המזהה של המשתמש השני.
- ITEM_ID: מזהה הפריט ב-Drive.
- TITLE: שם הפריט ב-Drive.
לתשומת ליבך: הפעולות בתשובה הזו לא כוללות את Target
, כי
זהה למחיר הכולל של DriveActivity
.
הדוגמה גם ממחישה איך אפליקציות יכולות להשתמש רק בפרטי הסיכום של
DriveActivity
, בלי לבדוק את הפעולות הספציפיות. התגובה
מציין ש-2 משתמשים ערכו קובץ נתון בפרק זמן מסוים.
משתמש העביר 2 קבצים לספרייה חדשה:
בדוגמה הזו, שיטת האיחוד קיבצה 2 פעולות קשורות של Move
כי הקבצים הועברו מאותו מקור לאותו יעד
באותו זמן.
"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":{} } }
}
]
}]
הפלט הזה כולל את הערכים הבאים:
- ACCOUNT_ID: מזהה המשתמש. אפשר להשתמש בו עם API של אנשים כדי לקבל מידע נוסף.
- ITEM_ID_1: המזהה של הפריט הראשון ב-Drive.
- ITEM_ID_2: המזהה של הפריט השני ב-Drive.
- TITLE_1: שם הפריט הראשון ב-Drive.
- TITLE_2: שם הפריט השני ב-Drive.
לתשומת ליבך: הפעולות בתשובה הזו לא כוללות את Actor
או TimeStamp
כי הם זהים ל-DriveActivity
הכללי.