ה-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
שגיאות 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."
}
}
כדי לפתור את השגיאה:
צריך להודיע למשתמש ש-Drive מונע יצירת חשבונות וביותר מ-500 מיליון פריטים.
אם המשתמש חייב ליצור פריטים באותו החשבון, צריך להנחות אותו למחוק באופן סופי אובייקטים מסוימים. אחרת, הם יוכלו להשתמש בחשבון אחר שכבר עומד בדרישה הזו.
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}."
}
}
כדי לפתור את השגיאה הזו, אפשר לנסות אחת מהפעולות הבאות:
- פתיחת הבורר של Google Drive ולבקש מהמשתמש לפתוח את הקובץ.
- צריך להנחות את המשתמש לפתוח את הקובץ באמצעות תפריט ההקשר פתיחה באמצעות ב-Drive ממשק המשתמש של האפליקציה.
- משתמשים בשיטה
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
השגיאה הזו מתרחשת כשהמדיניות לדומיין של המשתמש לא מאפשרת גישה אל נסיעה ליד האפליקציה. דוגמת ה-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."
}
}
כדי לפתור את השגיאה:
- עליך להודיע למשתמש שהדומיין לא מאפשר לאפליקציה שלך לגשת לקבצים ב-Drive.
- צריך להנחות את המשתמש לפנות למנהל הדומיין כדי לבקש גישה עבור באפליקציה שלך.
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."
}
}
כדי לפתור את השגיאה:
מוסיפים את החבר לאחסון השיתופי באמצעות
role=owner
. לקבלת מידע נוסף, רוצים לדעת שיתוף קבצים, תיקיות ואחסון?מוסיפים את הקובץ לאחסון השיתופי. מידע נוסף זמין בקטע יצירה לאכלס תיקיות.
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
כשהמגבלה של
חלה חריגה ממספר הרמות של תיקיות בתוך תיקיות. שם המשתמש שלי
Drive לא יכול להכיל יותר מ-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."
}
}
כדי לפתור את השגיאה:
- הודעה למשתמש ש-Drive מונע הצבת תיקיות יותר מ- עומק של 100 רמות.
- אם המשתמש חייב ליצור תיקייה פנימית נוספת, צריך להנחות אותו לארגן מחדש שתיקיית ההורה צריכה להיות עמוקה פחות מ-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"
}
}
כדי לפתור את השגיאה הזו, אפשר לנסות אחת מהפעולות הבאות:
- הגדלת המכסה לכל משתמש בפרויקט Google Cloud. לקבלת מידע נוסף, לבקש הגדלה של המכסה.
- בקשות באצווה לקיבוץ מספר קריאות ל-API בבקשת HTTP אחת.
- משתמשים בהשהיה מעריכית לפני ניסיון חוזר (exponential backoff) כדי לנסות שוב את בקשה.
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"
}
}
כדי לפתור את השגיאה:
- אין לשלוח אימיילים כשמשתפים כמויות גדולות של קבצים.
- אם משתמש אחד שולח בקשות רבות בשם משתמשים רבים
חשבון 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."
}
}
כדי לפתור את השגיאה:
בודקים את מגבלות האחסון בחשבון Drive. לקבלת מידע נוסף מידע נוסף זמין במאמר אחסון והעלאה ב-Google Workspace המגבלות.
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."
}
}
כדי לפתור את השגיאה:
- צריך להודיע למשתמש שתיקיות האחסון השיתופי מונעות הצבה של יותר מ- עומק של 100 רמות.
- אם המשתמש חייב ליצור תיקייה פנימית נוספת, צריך להנחות אותו לארגן מחדש שתיקיית ההורה צריכה להיות עמוקה פחות מ-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."
}
}
כדי לפתור את השגיאה הזו, אפשר לנסות אחת מהפעולות הבאות:
עליך לבקש מהמנהל של האחסון השיתופי להוסיף אותך הרשאות לפעולה שעליכם לבצע.
בדיקת התפקידים והתפקידים של Drive הרשאות כדי לדעת מי יכול לגשת אל אנשי הקשר ולנהל אותם תיקיות אחסון שיתופי. אפשר למצוא גם מידע נוסף על רמות הגישה .
teamDrivesFolderMoveInNotSupported
השגיאה הזו מתרחשת כשמשתמש מנסה להעביר תיקייה מ'My' נכנסים לאחסון שיתופי. דוגמת ה-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."
}
}
כדי לפתור את השגיאה הזו, אפשר לנסות אחת מהפעולות הבאות:
מעבירים את הפריטים הספציפיים מהתיקייה לאחסון שיתופי באמצעות ממשק ה-API של Drive. מגדירים את הפרמטר
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"
}
}
כדי לפתור את השגיאה הזו, אפשר לנסות אחת מהפעולות הבאות:
הגדלת המכסה לכל משתמש בפרויקט Google Cloud. לקבלת מידע נוסף, לבקש הגדלה של המכסה.
אם משתמש אחד שולח בקשות רבות בשם משתמשים רבים חשבון Google Workspace, למשל חשבון שירות עם ברמת הדומיין מינוי שלוחה הרשאות באמצעות
quotaUser
.משתמשים בהשהיה מעריכית לפני ניסיון חוזר (exponential backoff) כדי לנסות שוב את בקשה.
כאן אפשר לקרוא מידע נוסף על המגבלות של Drive API.
שגיאות 404
השגיאות האלה מופיעות אם המשאב המבוקש לא נגיש או לא קיים.
notFound
השגיאה הזו מתרחשת כשלמשתמש אין גישת קריאה לקובץ או לקובץ לא קיים. דוגמת ה-JSON הבאה משקפת את השגיאה הזו:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "notFound",
"message": "File not found {fileId}"
}
],
"code": 404,
"message": "File not found: {fileId}"
}
}
כדי לפתור את השגיאה:
- אם הקובץ נמצא באחסון שיתופי ואתם משתמשים
files.get
, מוודאים הפרמטרsupportsAllDrives
של השאילתה מוגדר ל-true
. - עליכם להודיע למשתמש שאין לו גישת קריאה לקובץ או לקובץ לא קיים.
- צריך להנחות את המשתמש לפנות לבעלים של הקובץ ולבקש הרשאה חדש.
שגיאות 429
המשמעות של השגיאות האלה היא שבקשות רבות מדי נשלחו ל-API מהר מדי.
rateLimitExceeded
השגיאה הזו מתרחשת כשהמשתמש שלח יותר מדי בקשות משך הזמן. דוגמת ה-JSON הבאה משקפת את השגיאה הזו:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "rateLimitExceeded",
"message": "Rate Limit Exceeded"
}
],
"code": 429,
"message": "Rate Limit Exceeded"s
}
}
כדי לתקן את השגיאה הזו, צריך להשתמש בפונקציה מעריכית השהיה לפני ניסיון חוזר (backoff) כדי לנסות שוב את הבקשה.
שגיאות 500, 502, 503, 504
השגיאות האלו מתרחשות כאשר מתרחשת שגיאת שרת בלתי צפויה במהלך העיבוד בקשה. יש בעיות שונות שיכולות לגרום לשגיאות האלה, כולל תזמון הבקשה. שחופפת לבקשה אחרת או לבקשה לפעולה שאינה נתמכת, כמו לנסות לעדכן את ההרשאות לדף יחיד ב-Google Sites באתר כולו.
רשימה של שגיאות 5xx:
- שגיאה בקצה העורפי 500
- 502 Bad Gateway
- 503 Service Unavailable
- 504 Gateway Timeout
כדי לתקן את השגיאה הזו, צריך להשתמש בפונקציה מעריכית השהיה לפני ניסיון חוזר (backoff) כדי לנסות שוב את הבקשה.