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

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

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

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

שיפורים ב-V3

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

  • כברירת מחדל, חיפושים של קבצים ותיקיות אחסון שיתופי לא מחזירים את כל המשאבים, אלא רק חלק מהשדות שנמצאים בשימוש נפוץ. למידע נוסף על fields, קראו את ה-method files.list ואת ה-method drives.list.
  • כמעט בכל השיטות שמחזירות תגובה נדרש עכשיו הפרמטר fields. ב מאמרי העזרה של Drive API אפשר למצוא רשימה של כל השיטות שבהן נדרש fields.
  • הוסרו משאבים עם יכולות כפולות. דוגמאות:
    • השיטה files.list מספקת את אותה פונקציונליות כמו הקולקציות Children ו-Parents, לכן הם מוסרים מגרסה 3.
    • השיטות Realtime.* הוסרו.
  • נתוני אפליקציות לא מוחזרים כברירת מחדל בחיפושים. בגרסה 2 אפשר להגדיר את ההיקף drive.appdata, והיא מחזירה נתוני אפליקציה מה-method files.list ומ-method changes.list, אבל היא מאטה את הביצועים. בגרסה 3, מגדירים את ההיקף של drive.appdata ומגדירים את פרמטר השאילתה spaces=appDataFolder כדי לבקש נתוני אפליקציה.
  • כל פעולות העדכון משתמשות ב-PATCH במקום ב-PUT.
  • כדי לייצא מסמכי Google Docs, משתמשים בשיטה files.export.
  • השיטה changes.list שונה. במקום במזהי שינויים, צריך להשתמש באסימונים אטומים של דפים. כדי לדגום את איסוף השינויים, קודם צריך לקרוא ל-method changes.getStartPageToken את הערך הראשוני. בשאילתות הבאות, ה-method changes.list מחזירה את הערך newStartPageToken.
  • מעכשיו, שיטות עדכון דוחות בקשות המציינות שדות שאינם ניתנים לכתיבה.
  • השדות exportFormats ו-importFormats במשאב 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).