במדריך הזה מוסבר על ההבדלים בין Google Drive Activity API v1 לבין v2, ואיך משנים את אפליקציית v1 כך שתתמוך ב-API v2.
הרשאות
ה-API של v1 השתמש בהיקף זה:
https://www.googleapis.com/auth/activity
ל-API v2 נדרש אחד מההיקפים הבאים:
https://www.googleapis.com/auth/drive.activity
https://www.googleapis.com/auth/drive.activity.readonly
שמות המשאבים
ב-API של v1, המזהים של אובייקטים כמו פריטים ב-Google Drive ומשתמשים היו מחרוזות אטומות. ב-API v2, ההפניה לאובייקטים האלה בדרך כלל מתבצעת באמצעות שמות המשאבים. למידע נוסף, עיינו במדריך לעיצוב Cloud API.
בדרך כלל אפשר להמיר את המזהים האלה. לדוגמה, הפניות
לפריטים ב-Drive ב-API מגרסה 2 באמצעות שם המשאב
items/ITEM_ID_V1
.
Requests
פורמט הבקשה של גרסה 2 דומה לפורמט הבקשה של גרסה 1. באופן ספציפי, עדיין תוכלו
לבקש פעילות בקובץ Drive או בישות אב ב-Drive, אבל חשוב לזכור שצריך לקבוע את פורמט הפרמטרים של הבקשה כשמות
משאבים על ידי הוספת התחילית items/
לפרמטרים האלה.
הרכיב 'קיבוץ' נקרא עכשיו איחוד, ופרמטרי הבקשה source
ו-userId
הוסרו.
יש גם אפשרויות סינון חדשות שמאפשרות להגביל את הסוגים של נתוני הפעילות שיוחזרו בתגובה.
פעולות
ב-v1 API, סוג הפעילות והנתונים המשויכים לפעילות הזו הופיעו בשדות נפרדים. לדוגמה, אם השדה primaryEventType
מכיל את הערך move
, האפליקציות יניחו שהשדה move
ברמה העליונה מאוכלס בערכי ההורה שנוספו ושהוסרו.
ב-API v2, השדות האלה כבר לא נפרדים. בהודעה ב-ActionDetail
מוגדר רק שדה אחד. היא מציינת את סוג הפעולה ומכילה את הפרטים המשויכים אליה. לדוגמה, השדה ActionDetail
שמייצג העברה מגדיר רק את השדה move
, והשדה הזה מפרט את ההורים שנוספו ושהוסרו.
השדה primaryEventType
של v1 API מקביל בערך ל-primaryActionDetail
של v2.
Actors
ב-v1 API, הפעילות שהוחזרה הכילה User
אם הגורם היה משתמש ידוע. הפעילות הזו הכילה שדה ברמה העליונה, כמו fromUserDeletion
, למקרים מיוחדים.
ב-v2 API יש קבוצה עשירה יותר של סוגי
Actor
, ו-user.knownUser
מאוכלס כאשר הגורם הוא משתמש מוכר. אם באפליקציה שלכם נדרש מידע מפורט על המשתמשים, תוכלו להריץ עליה שאילתות מה-People API על ידי העברת השדה KnownUser
personName
ל-method people.get
.
יעדים
ב-API של v1, היעדים היו תמיד פריטים ב-Drive. ב-API v2, היעדים יכולים להיות אובייקטים מסוגים אחרים ב-Drive. לדוגמה, אם תבצעו שינויים באחסון, סוג היעד שלהם הוא Drive
. תיקיית הבסיס של אחסון שיתופי עדיין מוחזרת (כ-DriveItem
בשדה root
), אבל היא לא היעד המיידי של הפעילות. רעיון דומה רלוונטי למשאב FileComment
, שהשדה parent
שלו מתייחס לפריט ב-Drive שמכיל את שרשור התגובות של היעד.
פעילות מאוחדת
ב-v1 API, סגנון התגובה השתנה כשהוגדרה אסטרטגיית איחוד ("קיבוץ"). באופן ספציפי, כשהאיחוד הופעל, כל פעילות הכילה את הרכיב singleEvents
ואת combinedEvent
שסיכמו את הפעילות המשותפת בין האירועים המרכזיים. כשבוטל האיחוד, השדה combinedEvent
הכיל את האירוע המקורי הלא מאוחד עבור כל פעילות. כל אחד מהאירועים האלה יכול לייצג יותר מפעולה אחת, כמו יצירה ושיתוף.
ב-v2 API, סגנון התגובה לא משתנה בהתאם לאסטרטגיית האיחוד, כי הערך שמוחזר DriveActivity
תמיד מכיל את כל השחקנים, היעדים והפעולות.