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

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

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

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

אשפה

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

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

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

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

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

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

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

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

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

כדי למחוק לתמיד קובץ בבעלות המשתמש בלי להעביר אותו לאשפה, אפשר להשתמש בשיטה 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: אם המשתמש הנוכחי יכול להסיר ילדים מהתיקייה הזו. הערך הוא False אם הפריט אינו תיקייה.

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

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

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

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

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

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