פתרון שגיאות

‫Google Drive API מחזיר שני סוגים של מידע על שגיאות:

  • קודי שגיאה של HTTP והודעות בכותרת.
  • אובייקט JSON בגוף התגובה עם פרטים נוספים שיכולים לעזור לכם לקבוע איך לטפל בשגיאה.

אפליקציות של Google Drive צריכות לזהות ולטפל בכל השגיאות שעלולות להתרחש כשמשתמשים ב-REST API. במדריך הזה אנחנו מסבירים איך לפתור שגיאות ספציפיות ב-Drive API.

סיכום קודי סטטוס של HTTP

קוד שגיאה תיאור
200 - OK הבקשה מצליחה (זו התגובה הרגילה לבקשות HTTP מוצלחות).
400 - Bad Request אי אפשר למלא את הבקשה בגלל שגיאה בצד הלקוח בבקשה.
401 - Unauthorized הבקשה מכילה פרטי כניסה לא תקינים.
403 - Forbidden הבקשה התקבלה והמערכת הבינה אותה, אבל למשתמש אין הרשאה לבצע את הבקשה.
404 - Not Found לא הצלחנו למצוא את הדף שביקשת.
429 - Too Many Requests יותר מדי בקשות ל-API.
500, 502, 503, 504 - Server Errors אירעה שגיאה לא צפויה במהלך עיבוד הבקשה.

שגיאות 400

השגיאות האלה מציינות שהבקשה לא התקבלה, לרוב בגלל פרמטר חובה חסר.

badRequest

השגיאה הזו יכולה להופיע בגלל אחת מהבעיות הבאות בקוד:

  • לא סופק שדה או פרמטר נדרש.
  • הערך שצוין או שילוב של שדות שצוינו לא תקינים.
  • ניסית להוסיף הורה כפול לקובץ ב-Drive.
  • ניסית להוסיף הורה שיצור מחזור בתרשים של הספרייה.

דוגמת ה-JSON הבאה מייצגת את השגיאה הזו:

{
  "error": {
    "code": 400,
    "errors": [
      {
        "domain": "global",
        "location": "orderBy",
        "locationType": "parameter",
        "message": "Sorting is not supported for queries with fullText terms. Results are always in descending relevance order.",
        "reason": "badRequest"
      }
    ],
    "message": "Sorting is not supported for queries with fullText terms. Results are always in descending relevance order."
  }
}

כדי לפתור את השגיאה הזו, צריך לבדוק את השדה message ולשנות את הקוד בהתאם.

illegalKeepForeverModification

השגיאה הזו מתרחשת כשמנסים להגדיר גרסה של קובץ Blob שסומנה כ-Keep Forever (שמירה לנצח) ל-false. הדוגמה הבאה ל-JSON מייצגת את השגיאה הזו:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "illegalKeepForeverModification",
    "message": "Bad Request. Cannot update a revision to false that is marked as keepForever."
   }
  ],
  "code": 400,
  "message": "Bad Request. Cannot update a revision to false that is marked as keepForever."
 }
}

כדי לתקן את השגיאה הזו, צריך למחוק באופן סופי את הגרסה של קובץ ה-Blob כדי להסיר את ההגדרה 'שמירה ללא הגבלת זמן'.

invalidSharingRequest

השגיאה הזו מתרחשת בגלל כמה סיבות. כדי לזהות את הגורם לבעיה, בודקים את השדה reason בקובץ ה-JSON שהוחזר. השגיאה הזו מתרחשת בדרך כלל כי:

  • השיתוף בוצע בהצלחה, אבל האימייל עם ההתראה לא נמסר בצורה תקינה.
  • למשתמש הזה אין הרשאה לשנות את רשימת בקרת הגישה (ACL).

בשדה message מצוינת השגיאה בפועל.

השיתוף בוצע בהצלחה, אבל האימייל עם ההתראה לא נמסר כמו שצריך

דוגמת ה-JSON הבאה מייצגת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "invalidSharingRequest",
        "message": "Bad Request. User message: \"Sorry, the items were successfully shared but emails could not be sent to email@domain.com.\""
      }
    ],
    "code": 400,
    "message": "Bad Request"
  }
}

כדי לתקן את השגיאה הזו, צריך להודיע למשתמש (המשתף) שהוא לא הצליח לשתף כי לא ניתן היה לשלוח את האימייל עם ההתראה לכתובת האימייל של הנמען. המשתמש צריך לוודא שכתובת האימייל שלו נכונה ושהוא יכול לקבל אימיילים.

למשתמש הזה אין הרשאה לשנות את רשימת ה-ACL

דוגמת ה-JSON הבאה מייצגת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "invalidSharingRequest",
        "message": "Bad Request. User message: \"ACL change not allowed.\""
      }
    ],
    "code": 400,
    "message": "Bad Request"
  }
}

כדי לתקן את השגיאה הזו, צריך לבדוק את הגדרות השיתוף של הדומיין ב-Google Workspace שהקובץ שייך לו. יכול להיות שההגדרות אוסרות על שיתוף מחוץ לדומיין, או שאין אישור לשתף את האחסון השיתופי.

שגיאות 401

השגיאות האלה מציינות שהבקשה לא מכילה אסימון גישה תקין.

authError

השגיאה הזו מתרחשת כשפג התוקף של טוקן הגישה שבו אתם משתמשים או שהוא לא תקין. השגיאה הזו יכולה להיגרם גם בגלל הרשאות חסרות להיקפי ההרשאות המבוקשים. דוגמת ה-JSON הבאה מייצגת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "authError",
        "message": "Invalid Credentials",
        "locationType": "header",
        "location": "Authorization",
      }
    ],
    "code": 401,
    "message": "Invalid Credentials"
  }
}

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

fileNotDownloadable

השגיאה הזו מתרחשת כשמנסים להשתמש בשיטה revisions.get עם פרמטר כתובת ה-URL alt=media במסמך Google Workspace. הנה דוגמה ל-JSON שמייצגת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "fileNotDownloadable",
        "message": "Only files with binary content can be downloaded. Use Export with Docs Editors files."
      }
    ],
    "code": 403,
    "message": "Only files with binary content can be downloaded. Use Export with Docs Editors files."
  }
}

כדי לפתור את השגיאה, אפשר לנסות את הפתרונות הבאים:

  • אם רוצים לראות את המטא-נתונים של גרסה מסוימת, כמו סוג ה-MIME, צריך להסיר את הפרמטר של כתובת ה-URL‏ alt=media.
  • משתמשים בשיטה files.export כדי לייצא תוכן של בייט של מסמך Google Workspace. מידע נוסף זמין במאמר ייצוא תוכן של מסמך Google Workspace.

שגיאות 403

השגיאות האלה מציינות שחריגה ממגבלת השימוש או שלמשתמש אין את ההרשאות הנכונות. כדי לזהות את הגורם, בודקים את השדה reason בקובץ ה-JSON שמוחזר.

מידע על מגבלות של Drive API זמין במאמר מכסות שימוש. מידע על מגבלות של תיקיות ב-Drive זמין במאמר מגבלות על קבצים ותיקיות.

activeItemCreationLimitExceeded

שגיאת activeItemCreationLimitExceeded מתרחשת כשחורגים מהמגבלה של מספר הפריטים שנוצרים לכל חשבון. כל משתמש יכול ליצור עד 500 מיליון פריטים בחשבון. מידע נוסף מופיע בקטע מגבלת פריטים למשתמש.

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "activeItemCreationLimitExceeded",
    "message": "This account has exceeded the creation limit of 500 million items. To create more items, permanently delete some items."
   }
  ],
  "code": 403,
  "message": "This account has exceeded the creation limit of 500 million items. To create more items, permanently delete some items."
 }
}

כדי לפתור את השגיאה:

  1. מודיעים למשתמש ש-Drive מונע מחשבונות ליצור יותר מ-500 מיליון פריטים.

  2. אם המשתמש צריך ליצור פריטים באותו חשבון, צריך להנחות אותו למחוק חלק מהאובייקטים באופן סופי. אחרת, הם יכולים להשתמש בחשבון אחר שכבר עומד בדרישה.

appNotAuthorizedToFile

השגיאה הזו מתרחשת כשהאפליקציה לא נמצאת ברשימת בקרת הגישה (ACL) של הקובץ. השגיאה הזו מונעת מהמשתמש לפתוח את הקובץ באמצעות האפליקציה שלכם. דוגמת ה-JSON הבאה מייצגת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "appNotAuthorizedToFile",
        "message": "The user has not granted the app {appId} {verb} access to the file {fileId}."
      }
    ],
    "code": 403,
    "message": "The user has not granted the app {appId} {verb} access to the file {fileId}."
  }
}

כדי לפתור את השגיאה, אפשר לנסות את הפתרונות הבאים:

cannotModifyInheritedTeamDrivePermission

השגיאה הזו מתרחשת כשמשתמש מנסה לשנות את ההרשאות שמועברות בירושה לפריט באחסון שיתופי. אי אפשר להסיר הרשאות שהועברו בירושה מפריט באחסון שיתופי. דוגמת ה-JSON הבאה מייצגת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "cannotModifyInheritedTeamDrivePermission",
        "message": "Cannot update or delete an inherited permission on a shared drive item."
      }
    ],
    "code": 403,
    "message": "Cannot update or delete an inherited permission on a shared drive item."
  }
}

כדי לתקן את השגיאה הזו, המשתמש צריך לשנות את ההרשאות בפריט האב הישיר או העקיף שממנו הן הועברו בירושה. מידע נוסף זמין במאמר בנושא איך פועלות הרשאות. אפשר גם לאחזר את משאב permissions כדי לראות אם ההרשאות לגבי הפריט הזה באחסון השיתופי הועברו בירושה או הוחלו ישירות.

dailyLimitExceeded

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

{
  "error": {
    "errors": [
      {
        "domain": "usageLimits",
        "reason": "dailyLimitExceeded",
        "message": "Daily Limit Exceeded"
      }
    ],
    "code": 403,
    "message": "Daily Limit Exceeded"
  }
}

השגיאה הזו מופיעה כשהבעלים של האפליקציה הגדיר מכסת שימוש במשאב מסוים. כדי לתקן את השגיאה, מסירים את כל מגבלות השימוש במכסת 'שאילתות ליום'.

domainPolicy

השגיאה הזו מתרחשת כשמדיניות הדומיין של המשתמש לא מאפשרת לאפליקציה שלכם גישה ל-Drive. דוגמה ל-JSON שמייצג את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "domainPolicy",
        "message": "The domain administrators have disabled Drive apps."
      }
    ],
    "code": 403,
    "message": "The domain administrators have disabled Drive apps."
  }
}

כדי לפתור את השגיאה:

  1. מודיעים למשתמש שהדומיין לא מאפשר לאפליקציה שלך לגשת לקבצים ב-Drive.
  2. מנחים את המשתמש לפנות לאדמין בדומיין כדי לבקש גישה לאפליקציה.

downloadRestrictedForRevision

השגיאה הזו מתרחשת כשהמשתמש לא יכול להוריד גרסה של קובץ blob. דוגמת ה-JSON הבאה מייצגת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "download_restricted_for_revision",
        "message": "This revision cannot be downloaded by the authenticated user."
      }
    ],
    "code": 403,
    "message": "This revision cannot be downloaded by the authenticated user."
  }
}

כדי לפתור את השגיאה הזו, צריך להודיע למשתמש שהדרך היחידה להוריד גרסאות של קובץ blob היא אם הן מסומנות כ'שמירה לתמיד'. מידע נוסף מופיע במאמר ציון גרסאות שיישארו ולא יימחקו אוטומטית.

fileNotExportable

השגיאה הזו מתרחשת כשהמשתמש מנסה לייצא קובץ של Google Vids. דוגמת ה-JSON הבאה מייצגת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "fileNotExportable",
        "message": "Google Vids does not support files.export. Use files.download with Vids files."
      }
    ],
    "code": 403,
    "message": "Google Vids does not support files.export. Use files.download with Vids files."
  }
}

כדי לפתור את השגיאה הזו, צריך להודיע למשתמש שחובה להוריד קבצים של Google Vids באמצעות השיטה files.download, כי השיטה files.export לא נתמכת. מידע נוסף זמין במאמר בנושא הורדה וייצוא של קבצים.

fileOwnerNotMemberOfTeamDrive

השגיאה הזו מתרחשת כשמנסים להעביר קובץ לאחסון שיתופי והבעלים של הקובץ לא חבר באחסון השיתופי. דוגמת ה-JSON הבאה מייצגת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "fileOwnerNotMemberOfTeamDrive",
        "message": "Cannot move a file into a shared drive as a writer when the owner of the file is not a member of that shared drive."
      }
    ],
    "code": 403,
    "message": "Cannot move a file into a shared drive as a writer when the owner of the file is not a member of that shared drive."
  }
}

כדי לפתור את השגיאה:

  1. מוסיפים את החבר לאחסון השיתופי באמצעות role=owner. מידע נוסף זמין במאמר בנושא שיתוף קבצים, תיקיות ו-Drive.

  2. מוסיפים את הקובץ לאחסון השיתופי. מידע נוסף זמין במאמר בנושא יצירה של תיקיות והוספת קבצים לתיקיות.

fileWriterTeamDriveMoveInDisabled

השגיאה הזו מתרחשת כשמנהל דומיין לא מאפשר למשתמשים עם role=writer להעביר פריטים לאחסון שיתופי. למשתמש שמנסה להעביר את הפריטים יש פחות הרשאות מההרשאות שמותרות באחסון השיתופי של היעד. דוגמת ה-JSON הבאה מייצגת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "fileWriterTeamDriveMoveInDisabled",
        "message": "The domain administrator has not allowed writers to move items into a shared drive."
      }
    ],
    "code": 403,
    "message": "The domain administrator has not allowed writers to move items into a shared drive."
  }
}

כדי לתקן את השגיאה הזו, צריך להשתמש באותו חשבון משתמש אדמין גם בתיקיית האחסון השיתופי של המקור וגם בתיקיית האחסון השיתופי של היעד.

insufficientFilePermissions

השגיאה הזו מתרחשת כשמשתמש לא מקבל הרשאת כתיבה לקובץ, והאפליקציה מנסה לשנות את הקובץ. דוגמת ה-JSON הבאה מייצגת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "insufficientFilePermissions",
        "message": "The user does not have sufficient permissions for file {fileId}."
      }
    ],
    "code": 403,
    "message": "The user does not have sufficient permissions for file {fileId}."
  }
}

כדי לפתור את השגיאה הזו, צריך להנחות את המשתמש לפנות לבעלים של הקובץ ולבקש גישת עריכה. אפשר גם לבדוק את רמות הגישה של המשתמשים במטא-נתונים שאוחזרו באמצעות השיטה files.get ולהציג ממשק משתמש לקריאה בלבד כשחסרות הרשאות.

myDriveHierarchyDepthLimitExceeded

שגיאה myDriveHierarchyDepthLimitExceeded מתרחשת כשחורגים מהמגבלה של מספר רמות התיקיות המקוננות. בתיקייה'האחסון שלי' של משתמש יכולות להיות עד 100 רמות של תיקיות מקוננות. מידע נוסף זמין במאמר בנושא מגבלת העומק בתיקייה.

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "myDriveHierarchyDepthLimitExceeded",
    "message": "Your My Drive can't contain more than 100 levels of folders. For details, see https://developers.google.com/workspace/drive/api/guides/handle-errors#nested-folder-levels."
   }
  ],
  "code": 403,
  "message": "Your My Drive can't contain more than 100 levels of folders. For details, see https://developers.google.com/workspace/drive/api/guides/handle-errors#nested-folder-levels."
 }
}

כדי לפתור את השגיאה:

  1. מודיעים למשתמש ש-Drive מונע הצבה של תיקיות בעומק של יותר מ-100 רמות.
  2. אם המשתמש צריך ליצור עוד תיקייה מקוננת, צריך להנחות אותו לארגן מחדש את תיקיית האב המיועדת כך שהעומק שלה יהיה פחות מ-100 רמות, או להשתמש בתיקיית אב אחרת שכבר עומדת בדרישה.

numChildrenInNonRootLimitExceeded

השגיאה הזו מתרחשת כשחורגים מהמגבלה של מספר הפריטים (תיקיות, קבצים וקיצורי דרך) בתיקייה. יש מגבלה של 500,000 פריטים על תיקיות, קבצים וקיצורי דרך שנמצאים ישירות בתיקייה. פריטים שמוטמעים בתיקיות משנה לא נספרים במגבלה של 500,000 פריטים. מידע נוסף על מגבלות בתיקיות ב-Drive זמין במאמר מגבלות על תיקיות ב-Google Drive.

דוגמת ה-JSON הבאה מייצגת את השגיאה הזו:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "numChildrenInNonRootLimitExceeded",
    "message": "The limit for this folder's number of children (files and folders) has been exceeded."
   }
  ],
  "code": 403,
  "message": "The limit for this folder's number of children (files and folders) has been exceeded."
 }
}

כדי לפתור את השגיאה, אפשר לנסות את הפתרונות הבאים:

  • הודעה למשתמש ש-Drive מונע יצירה של תיקיות עם יותר מ-500,000 פריטים.
  • אם המשתמש צריך להוסיף עוד פריטים לתיקייה המלאה, צריך להנחות אותו לארגן מחדש את התיקייה כך שתכיל פחות מ-500,000 פריטים, או להשתמש בתיקייה דומה שכבר מכילה פחות פריטים.

rateLimitExceeded

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

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "message": "Rate Limit Exceeded",
    "reason": "rateLimitExceeded",
   }
  ],
  "code": 403,
  "message": "Rate Limit Exceeded"
 }
}

כדי לפתור את השגיאה, אפשר לנסות את הפתרונות הבאים:

sharingRateLimitExceeded

השגיאה הזו מתרחשת כשהמשתמש מגיע למגבלת השיתוף, ולרוב היא קשורה למגבלת אימייל. דוגמת ה-JSON הבאה מייצגת את השגיאה הזו:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "message": "Rate limit exceeded. User message: \"These item(s) could not be shared because a rate limit was exceeded: filename",
    "reason": "sharingRateLimitExceeded",
   }
  ],
  "code": 403,
  "message": "Rate Limit Exceeded"
 }
}

כדי לפתור את השגיאה:

  1. לא מומלץ לשלוח אימיילים כשמשתפים כמות גדולה של קבצים.
  2. אם משתמש אחד שולח בקשות רבות בשם משתמשים רבים בחשבון Google Workspace, כדאי לשקול שימוש בחשבון שירות עם הענקת הרשאות גישה ברמת הדומיין באמצעות הפרמטר quotaUser.

storageQuotaExceeded

השגיאה הזו מתרחשת כשהמשתמש מגיע למגבלת האחסון שלו. הנה דוגמה ל-JSON שמייצגת את השגיאה הזו:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "message": "The user's Drive storage quota has been exceeded.",
    "reason": "storageQuotaExceeded",
   }
  ],
  "code": 403,
  "message": "The user's Drive storage quota has been exceeded."
 }
}

כדי לפתור את השגיאה:

  1. בודקים את מגבלות האחסון בחשבון Drive. מידע נוסף זמין במאמר מגבלות של אחסון והעלאה ב-Google Workspace.

  2. איך מנהלים את האחסון ב-Drive, ב-Gmail וב-Google Photos

  3. איך קונים נפח אחסון נוסף בחשבון Google

teamDriveFileLimitExceeded

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

דוגמת ה-JSON הבאה מייצגת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "teamDriveFileLimitExceeded",
        "message": "The file limit for this shared drive has been exceeded."
      }
    ],
    "code": 403,
    "message": "The file limit for this shared drive has been exceeded."
  }
}

כדי לפתור את השגיאה הזו, צריך לצמצם את מספר הפריטים באחסון השיתופי. יכולים להיות קשיים בארגון ובחיפוש בתיקיות אחסון שיתופי שיש בהן יותר מדי קבצים.

teamDriveHierarchyTooDeep

שגיאה teamDriveHierarchyTooDeep מתרחשת כשחורגים מהמגבלה של מספר הרמות של תיקיות מקוננות באחסון השיתופי. בתיקיית אחסון שיתופי של משתמש יכולות להיות עד 100 רמות של תיקיות מקוננות. מידע נוסף זמין במאמר בנושא מגבלת עומק התיקיות.

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "teamDriveHierarchyTooDeep",
    "message": "The shared drive hierarchy depth will exceed the limit."
   }
  ],
  "code": 403,
  "message": "The shared drive hierarchy depth will exceed the limit."
 }
}

כדי לפתור את השגיאה:

  1. צריך להודיע למשתמש שאי אפשר להציב תיקיות באחסון שיתופי בעומק של יותר מ-100 רמות.
  2. אם המשתמש צריך ליצור עוד תיקייה מקוננת, צריך להנחות אותו לארגן מחדש את תיקיית האב המיועדת כך שהעומק שלה יהיה פחות מ-100 רמות, או להשתמש בתיקיית אב אחרת שכבר עומדת בדרישה.

teamDriveMembershipRequired

השגיאה הזו מתרחשת כשמשתמש מנסה לגשת לאחסון שיתופי שהוא לא חבר בו. דוגמת ה-JSON הבאה מייצגת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "teamDriveMembershipRequired",
        "message": "The attempted action requires shared drive membership."
      }
    ],
    "code": 403,
    "message": "The attempted action requires shared drive membership."
  }
}

כדי לפתור את השגיאה, אפשר לנסות את הפתרונות הבאים:

  1. צריך לבקש ממנהל האחסון השיתופי להוסיף אתכם עם ההרשאות המתאימות לפעולה שאתם צריכים לבצע.

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

teamDrivesFolderMoveInNotSupported

השגיאה הזו מתרחשת כשמשתמש מנסה להעביר תיקייה מ'האחסון שלי' לאחסון שיתופי. דוגמת ה-JSON הבאה מייצגת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "teamDrivesFolderMoveInNotSupported",
        "message": "Moving folders into shared drives is not supported."
      }
    ],
    "code": 403,
    "message": "Moving folders into shared drives is not supported."
  }
}

כדי לפתור את השגיאה, אפשר לנסות את הפתרונות הבאים:

  • מעבירים את הפריטים הבודדים מהתיקייה לאחסון שיתופי באמצעות Drive API. מגדירים את הפרמטר supportsAllDrives=true כדי לציין תמיכה בתיקיית 'האחסון שלי' ובתיקיות אחסון שיתופי.

  • אם אתם חייבים להעביר את התיקייה לאחסון שיתופי, אתם יכולים להשתמש בממשק המשתמש של Drive. מידע נוסף זמין במאמר בנושא העברת תיקיות לתיקיות אחסון שיתופי כאדמין.

teamDrivesParentLimit

השגיאה הזו מתרחשת כשמשתמש מנסה להוסיף יותר מהורה אחד לפריט באחסון שיתופי. דוגמת ה-JSON הבאה מייצגת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "teamDrivesParentLimit",
        "message": "A shared drive item must have exactly one parent."
      }
    ],
    "code": 403,
    "message": "A shared drive item must have exactly one parent."
  }
}

כדי לתקן את השגיאה הזו, צריך להשתמש בקיצורי דרך ב-Drive כדי להוסיף כמה קישורים לקובץ. למרות שלקיצור דרך יכולה להיות רק תיקייה ראשית אחת, אפשר להעתיק קובץ של קיצור דרך למיקומים נוספים. מידע נוסף זמין במאמר בנושא יצירת קיצור דרך לקובץ ב-Drive.

UrlLeaseLimitExceeded

השגיאה הזו מתרחשת כשמנסים לשמור נתוני משחקים ב-Google Play דרך האפליקציה. דוגמת ה-JSON הבאה מייצגת את השגיאה הזו:

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "UrlLeaseLimitExceeded",
    "message": "Too many pending uploads for this snapshot. Please finish or cancel some before creating more."
   }
  ],
  "code": 403,
  "message": "Too many pending uploads for this snapshot. Please finish or cancel some before creating more."
 }
}

כדי לפתור את השגיאה הזו, צריך להשלים או לבטל את כל ההעלאות של תמונת מצב לפני שיוצרים עוד תמונות מצב.

userRateLimitExceeded

השגיאה הזו מתרחשת כשמגיעים למגבלה לכל משתמש. יכול להיות שזו מגבלה ממסוף Google Cloud או מגבלה מהקצה העורפי של Drive. דוגמת ה-JSON הבאה מייצגת את השגיאה הזו:

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "userRateLimitExceeded",
    "message": "User Rate Limit Exceeded"
   }
  ],
  "code": 403,
  "message": "User Rate Limit Exceeded"
 }
}

כדי לפתור את השגיאה, אפשר לנסות את הפתרונות הבאים:

מידע על מגבלות של Drive API זמין במאמר מכסות שימוש.

שגיאות 404

השגיאות האלה מציינות שאין גישה למשאב המבוקש או שהוא לא קיים.

notFound

השגיאה הזו מתרחשת כשאין למשתמש גישת קריאה לקובץ, או שהקובץ לא קיים. דוגמת ה-JSON הבאה מייצגת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "notFound",
        "message": "File not found {fileId}"
      }
    ],
    "code": 404,
    "message": "File not found: {fileId}"
  }
}

כדי לפתור את השגיאה:

  1. אם הקובץ נמצא באחסון שיתופי ואתם משתמשים בשיטה files.get, ודאו שפרמטר השאילתה supportsAllDrives מוגדר לערך true.
  2. הודעה למשתמש שאין לו גישת קריאה לקובץ או שהקובץ לא קיים.
  3. מנחים את המשתמש לפנות לבעלים של הקובץ ולבקש הרשאה לקובץ.

שגיאות 429

השגיאות האלה מציינות שיותר מדי בקשות נשלחו ל-API מהר מדי.

rateLimitExceeded

השגיאה הזו מתרחשת כשהמשתמש שולח יותר מדי בקשות בפרק זמן מסוים. דוגמת ה-JSON הבאה מייצגת את השגיאה הזו:

{
  "error": {
    "errors": [
      {
        "domain": "usageLimits",
        "reason": "rateLimitExceeded",
        "message": "Rate Limit Exceeded"
      }
    ],
    "code": 429,
    "message": "Rate Limit Exceeded"s
  }
}

כדי לפתור את השגיאה הזו, צריך להשתמש בהשהיה מעריכית לפני ניסיון חוזר כדי לנסות שוב את הבקשה.

שגיאות 500,‏ 502,‏ 503 ו-504

השגיאות האלה מתרחשות כשמתרחשת שגיאת שרת לא צפויה במהלך עיבוד הבקשה. יש מגוון בעיות שיכולות לגרום לשגיאות האלה, כולל תזמון של בקשה שחופף לבקשה אחרת או בקשה לפעולה לא נתמכת, כמו ניסיון לעדכן הרשאות לדף יחיד ב-Google Sites במקום לכל האתר.

רשימה של שגיאות 5xx:

  • ‫500 שגיאת קצה עורפי
  • ‫‎502 Bad Gateway
  • ‫‎503 Service Unavailable
  • ‫‎504 Gateway Timeout

כדי לפתור את השגיאה הזו, צריך להשתמש בהשהיה מעריכית לפני ניסיון חוזר כדי לנסות שוב את הבקשה.