מדריך להשוואה של Drive API v2 ו-v3

הגרסה האחרונה של Google Drive API היא גרסה 3. הביצועים ב-v3 טובים יותר מהסיבות חיפושים מחזירים רק קבוצת משנה של שדות. משתמשים בגרסה הנוכחית, אלא אם צריך האוסף v2. אם אתם משתמשים בגרסה 2, כדאי לשקול מעבר לגרסה 3. למידע נוסף, אפשר לעיין במאמר העברה ל-Drive API v3. רשימה מלאה של ההבדלים בין גרסאות ההשוואה בין Drive API גרסה 2 ו-3 .

רוצה להמשיך להשתמש בגרסה 2? אפשר לעיין בתיקון של המדריך ל-Drive API v2 כדי להבין הוראות לגרסה 3 חייבים לתקן את המדריכים עבור מפתחים בגרסה 2.

למידע נוסף על השיפורים ב-Drive API v3, אפשר לצפות בסרטון הבא של מהנדסי Google מדברים על עיצוב ה-API החדש.

שיפורים ב-V3

כדי לבצע אופטימיזציה של הביצועים ולהפחית את המורכבות של התנהגות ה-API, גרסה 3 מספקת את שיפורים בהשוואה לגרסת ה-API הקודמת:

  • כברירת מחדל, חיפושים של קבצים ותיקיות אחסון שיתופי לא מחזירים משאבים מלאים, רק קבוצת משנה של שדות נפוצים. לפרטים נוספים על fields, אפשר לעיין בשיטה files.list והשיטה drives.list.
  • כמעט בכל השיטות שמחזירות תשובה נדרש fields הפרמטר. לרשימה של כל השיטות שבהן נדרש fields, אפשר לעיין ב מאמרי עזרה של Drive API
  • הוסרו משאבים עם יכולות כפולות. מספר דוגמאות:
    • השיטה files.list מספקת את אותה פונקציונליות כמו האוספים Children ו-Parents, לכן הם הוסרו מגרסה 3.
    • השיטות Realtime.* הוסרו.
  • נתוני אפליקציות לא מוחזרים כברירת מחדל בחיפושים. בגרסה 2 אפשר להגדיר ההיקף drive.appdata, והוא מחזיר נתוני האפליקציה מ-files.list ה-method changes.list אבל היא מאטה את הביצועים. בגרסה 3, מגדירים את ההיקף של drive.appdata, וגם מגדירים את פרמטר השאילתה spaces=appDataFolder כך: של נתוני האפליקציה.
  • כל פעולות העדכון משתמשות ב-PATCH במקום ב-PUT.
  • כדי לייצא מסמכי Google Docs, השתמש ב files.export.
  • השיטה changes.list שונה. במקום במזהי שינויים, צריך להשתמש אסימוני דף אטומים. כדי לדגום את אוסף השינויים, קודם צריך להפעיל את changes.getStartPageToken עבור הערך הראשוני. בשאילתות הבאות, changes.list מחזירה את הערך newStartPageToken.
  • מעכשיו, שיטות עדכון דוחות בקשות המציינות שדות שאינם ניתנים לכתיבה.
  • השדות exportFormats ו-importFormats בגרסה 2 של השדה המשאב about הוא רשימות של פורמטים מותרים של ייבוא או ייצוא. בגרסה 3, אלה מפות מסוג MIME של יעדים אפשריים לכל הייבוא או הייצוא הנתמכים.
  • כתובות האימייל החלופיות appdata ו-appfolder הן appDataFolder בגרסה 3.
  • המשאב properties הוסר מגרסה 3. המשאב files מכיל את השדה properties שמכיל צמדי מפתח/ערך אמיתיים. השדה properties מכיל נתונים ציבוריים והשדה appProperties מכיל נכסים פרטיים, כך אינו נדרש בשדה החשיפה.
  • השדה modifiedTime במשאב files מתעדכן בפעם האחרונה מישהו שינה את הקובץ. בגרסה 2, השדה modifiedDate היה ניתן לשינוי רק מעודכן אם מגדירים את השדה setModifiedDate.
  • השדה viewedByMeTime במשאב files לא פועל באופן אוטומטי
  • כדי לייבא פורמטים של Google Docs, צריך להגדיר את היעד המתאים: mimeType בגוף המשאב. בגרסה 2 הגדרת ?convert=true.
  • פעולות ייבוא מחזירות שגיאה 400 אם הפורמט לא נתמך.
  • קוראים ומגיבים לא יכולים לראות את ההרשאות.
  • הכינוי me להרשאות מוסר.
  • חלק מהפונקציות היו זמינות כחלק ממשאב הבקשה, אבל זמין במקום זאת כפרמטר של בקשה. לדוגמה:
    • בגרסה 2 אפשר להשתמש ב-children.delete כדי להסיר קובץ צאצא בתיקיית ההורה.
    • בגרסה 3, השימוש ב-files.update מתבצע על הילד או הילדה עם ?removeParents=parent_id בכתובת ה-URL.

הבדלים אחרים

שמות הפרמטרים והשדות שונים בגרסה 3. דוגמאות:

  • המאפיין name מחליף את title במשאב files.
  • Time היא הסיומת של כל שדות התאריך והשעה, במקום Date.
  • פעולות רשימה לא משתמשות בשדה items כדי להכיל את קבוצת התוצאות. סוג המשאב מספק שדה לתוצאות (כמו files או changes).