העברה לאשפה או מחיקה של קבצים ותיקיות

אתם יכולים להסיר קבצים ותיקיות מ-Google Drive גם מ'האחסון שלי' וגם מתיקיות האחסון השיתופי. יש שתי אפשרויות: העברה לאשפה או מחיקה.

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

במדריך הזה מוסבר איך להיפטר מקבצים ב-Drive.

שימוש בפרמטר fields

אם רוצים לציין את השדות שיוחזרו בתגובה, אפשר להגדיר את fields פרמטר המערכת files בכל שיטה של המשאב. אם משמיטים את הפרמטר fields, השרת מחזיר קבוצת ברירת מחדל של שדות שספציפיים לשיטה. לדוגמה, ה-method‏ list מחזירה רק את השדות kind, id, name, mimeType ו-resourceKey לכל קובץ. כדי להחזיר שדות שונים, אפשר לעיין במאמר החזרת שדות ספציפיים.

אשפה

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

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

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

אם אתם לא הבעלים של הקובץ אבל אתם רוצים עותק של הקובץ שהועבר לאשפה, אתם יכולים:

  • יוצרים עותק של הקובץ.
  • פונים לבעלים ומבקשים לשחזר את הקובץ מהאשפה.

העברת קובץ לאשפה

כדי להעביר קובץ לאשפה, משתמשים ב-method ‏update במשאב files עם פרמטר הנתיב fileId ומגדירים את השדה הבוליאני trashed לערך true. כדי להעביר קובץ באחסון שיתופי לאשפה, צריך להגדיר את פרמטר השאילתה הבוליאני supportsAllDrives לערך true. מידע נוסף זמין במאמר בנושא הטמעה של תמיכה באחסון שיתופי.

אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של משאב files.

דוגמת הקוד הבאה מראה איך להשתמש בפקודה fileId כדי לסמן את הקובץ כקובץ שהועבר לאשפה:

Python

body_value = {'trashed': True}

response = drive_service.files().update(fileId="FILE_ID", body=body_value).execute()

Node.js

const body_value = {
  'trashed': true
};

const response = await drive_service.files.update({
      fileId: 'FILE_ID',
      requestBody: body_value,
    });
    return response;

מחליפים את FILE_ID בfileId של הקובץ שרוצים להעביר לאשפה.

קביעת המאפיינים של קובץ שהועבר לאשפה

כשמעבירים קובץ לאשפה, אפשר לאחזר מאפיינים נוספים של הקובץ. אפשר להשתמש ב-method get במשאב files עם פרמטר הנתיב fileId, ולהשתמש באחד מהשדות הבאים שהועברו לאשפה בפרמטר fields. מידע נוסף על הפרמטר fields זמין במאמר שימוש בפרמטר fields.

השדות הבאים מאוכלסים לכל הקבצים:

  • trashed: אם הקובץ הועבר לאשפה, באופן מפורש או מתיקיית אב שהועברה לאשפה. שימו לב: השימוש ב-trashed עם ה-method‏ update מגדיר את הסטטוס של הקובץ, וה-method‏ get מאחזר את הסטטוס של הקובץ.
  • explicitlyTrashed: האם הקובץ הועבר במפורש לאשפה, בניגוד להעברה לאשפה באופן רקורסיבי, מתיקיית אב.

השדות הבאים מאוכלסים רק עבור קבצים שנמצאים באחסון שיתופי:

  • trashedTime: השעה שבה הפריט הועבר לאשפה בפורמט התאריך והשעה RFC 3339. אם אתם משתמשים בגרסה הקודמת של Drive API‏, v2, השדה הזה נקרא trashedDate.
  • trashingUser: אם הקובץ הועבר במפורש לאשפה, המשתמש שהעביר אותו לאשפה.

שחזור קובץ מהאשפה

כדי לשחזר קובץ מהאשפה, משתמשים בשיטה update במשאב files עם פרמטר הנתיב fileId ומגדירים את השדה הבוליאני trashed לערך false. כדי לבטל את ההעברה של קובץ באחסון שיתופי לאשפה, צריך להגדיר את פרמטר השאילתה הבוליאני supportsAllDrives לערך true. מידע נוסף זמין במאמר בנושא הטמעה של תמיכה באחסון שיתופי.

אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של משאב files.

דוגמת הקוד הבאה מראה איך להשתמש בפקודה fileId כדי לסמן את הקובץ כלא מושבת:

Python

body_value = {'trashed': False}

response = drive_service.files().update(fileId="FILE_ID", body=body_value).execute()

Node.js

const body_value = {
  'trashed': false
};

const response = await drive_service.files.update({
      fileId: 'FILE_ID',
      requestBody: body_value,
    });
    return response;

מחליפים את FILE_ID בfileId של הקובץ שרוצים לשחזר מהאשפה.

רוקן את האשפה

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

אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל אובייקט JSON ריק.

בדוגמת הקוד הבאה אפשר לראות איך משתמשים ב-fileId כדי למחוק באופן סופי את כל הקבצים שנמצאים באשפה:

Python

response = drive_service.files().emptyTrash().execute()

Node.js

 const response = await drive_service.files.emptyTrash({
    });
    return response;

מחיקה

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

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

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

אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל אובייקט JSON ריק.

בדוגמת הקוד הבאה מוצג אופן השימוש בפקודה fileId למחיקת הקובץ:

Python

response = drive_service.files().delete(fileId="FILE_ID").execute()

Node.js

 const response = await drive_service.files.delete({
      fileId: 'FILE_ID'
    });
    return response;

מחליפים את FILE_ID בfileId של הקובץ שרוצים למחוק.

הרשאות

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

פעולה מותרת owner organizer fileOrganizer writer commenter reader
העברת קבצים ותיקיות לאשפה
שחזור קבצים ותיקיות מהאשפה
ריקון האשפה
מחיקת קובץ או תיקייה
מחיקת קבצים ותיקיות באחסון שיתופי [*]
מחיקת אחסון שיתופי ריק

יכולות

מקור files מכיל אוסף של שדות בוליאניים capabilities שמציינים את היכולות שיש למשתמש בקובץ הזה.

כדי לבדוק את היכולות, קוראים לשיטה get במשאב files עם פרמטר הנתיב fileId, ומשתמשים באחד מהשדות הבאים capabilities בפרמטר fields. מידע נוסף על הפרמטר fields זמין במאמר שימוש בפרמטר fields.

השדות הבאים מאוכלסים לכל הקבצים:

  • capabilities.canTrash: האם המשתמש הנוכחי יכול להעביר את הקובץ הזה לאשפה.
  • capabilities.canUntrash: האם המשתמש הנוכחי יכול לשחזר את הקובץ הזה מהאשפה.
  • capabilities.canDelete: האם המשתמש הנוכחי יכול למחוק את הקובץ הזה.
  • capabilities.canRemoveChildren: האם המשתמש הנוכחי יכול להסיר ילדים מהתיקייה הזו. השגיאה הזו false מתרחשת כשהפריט הוא לא תיקייה.

השדות הבאים מאוכלסים רק עבור קבצים שנמצאים באחסון שיתופי:

  • capabilities.canTrashChildren: האם המשתמש הנוכחי יכול להעביר לאשפה פריטים שמוכלים בתיקייה הזו. זה קורה false כשהפריט הוא לא תיקייה.
  • capabilities.canDeleteChildren: האם המשתמש הנוכחי יכול למחוק פריטים בתיקייה הזו. זה קורה false כשהפריט הוא לא תיקייה.

מגבלות על קבצים ותיקיות

יש מגבלות על נפח האחסון של קבצים ותיקיות ב-Drive, וגם של תיקיות באחסון שיתופי.

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

מידע נוסף על מגבלות הקבצים והתיקיות זמין במאמרים הבאים: