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

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

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

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

אשפה

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

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

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

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

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

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

כדי להעביר קובץ לאשפה, משתמשים ב-method‏ files.update ומגדירים את השדה 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 של הקובץ שרוצים להעביר לאשפה.

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

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

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

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

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

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

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

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

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

דוגמת הקוד הבאה ממחישה איך להשתמש ב-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 שהמשתמש העביר לאשפה באמצעות השיטה files.emptyTrash. כדי לרוקן את האשפה של אחסון שיתופי, צריך גם להגדיר את מזהה האחסון השיתופי driveId כמזהה של האחסון השיתופי.

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

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

Python

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

Node.js

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

מחיקה

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

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

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

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

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

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

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

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

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

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

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

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

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

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