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

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

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

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

אשפה

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

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

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

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

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

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

כדי להעביר קובץ לאשפה, משתמשים בשיטה 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 עם השיטה files.update קובע את סטטוס הקובץ, השיטה files.get מאחזרת את סטטוס הקובץ.
  • explicitlyTrashed: האם הקובץ הועבר לאשפה באופן מפורש ולא הועבר לאשפה באופן רקורסיבי מתיקיית הורה.

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

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

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

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

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

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

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

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

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