מעבר מ-Drive Activity API גרסה 1

במדריך הזה מוסבר על ההבדלים בין 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 תמיד מכיל את כל השחקנים, היעדים והפעולות.