פתרון שגיאות

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

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

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

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 עם הפרמטר alt=media של כתובת ה-URL במסמך ב-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 type, צריך להסיר את הפרמטר של כתובת ה-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

השגיאה הזו מתרחשת כשהאפליקציה לא נכללת ברשימת הרשאות הגישה לקובץ. השגיאה הזו מונעת מהמשתמש לפתוח את הקובץ באמצעות האפליקציה. דוגמת ה-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}."
  }
}

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

  • פותחים את הבורר של Google Drive ומבקשים מהמשתמש לפתוח את הקובץ.
  • מבקשים מהמשתמש לפתוח את הקובץ באמצעות תפריט ההקשר פתיחה באמצעות בממשק המשתמש של Drive באפליקציה.
  • משתמשים ב-method‏ files.get כדי לבדוק את השדה isAppAuthorized במשאב files כדי לוודא שהאפליקציה יצרה או פתחה את הקובץ.

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.permissionDetails כדי לראות אם ההרשאות בפריט הזה באחסון השיתופי עוברות בירושה או חלות ישירות.

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. מבקשים מהמשתמש לפנות לאדמין הדומיין כדי לבקש גישה לאפליקציה.

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. מידע נוסף זמין במאמר שיתוף קבצים, תיקיות ואחסון.

  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/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/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. ניהול קבצים באחסון שלכם ב-Google Drive

  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."
 }
}

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

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

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