فایل ها و پوشه ها را سطل زباله یا حذف کنید

می‌توانید فایل‌ها و پوشه‌های Google Drive را هم از My Drive و هم از درایوهای مشترک حذف کنید. برای انجام این کار دو گزینه دارید: حذف یا حذف کردن.

می توانید فایل ها و پوشه ها را به سطل زباله منتقل کنید و سپس آنها را بازیابی کنید (در عرض 30 روز پس از سطل زباله). با حذف فایل‌ها و پوشه‌ها، آنها برای همیشه از Drive حذف می‌شوند. اگر چندین فایل یا پوشه را همزمان حذف کنید، بازیابی کنید یا به طور دائم حذف کنید، ممکن است زمان زیادی طول بکشد تا متوجه تغییرات شوید.

این راهنما توضیح می دهد که چگونه می توانید فایل ها را در Drive از بین ببرید.

سطل زباله

برای حذف فایل‌های Drive، می‌توانید آنها را به سطل زباله منتقل کنید. فایل های موجود در سطل زباله پس از 30 روز به طور خودکار حذف می شوند. می توانید قبل از دوره 30 روزه فایل ها را از سطل زباله خود بازیابی کنید.

فقط مالک فایل می تواند یک فایل را حذف کند و سایر کاربران نمی توانند فایل ها را در سطل زباله مالک مشاهده کنند. اگر بخواهید فایلی را که متعلق به خود نیستید حذف کنید، یک خطای insufficientFilePermissions دریافت می کنید. برای اطلاعات بیشتر، به مجوزها مراجعه کنید.

برای تأیید اینکه مالک فایل هستید، متد files.get را با fileId فراخوانی کنید و پارامتر fields را روی فیلد بولین ownedByMe تنظیم کنید. فیلد ownedByMe برای فایل‌های درایوهای مشترک پر نشده است، زیرا متعلق به درایو مشترک است، نه کاربران فردی. برای اطلاعات بیشتر در مورد بازگرداندن فیلدها با استفاده از پارامتر fields ، به بازگشت فیلدهای خاص برای یک فایل مراجعه کنید.

اگر مالک فایل نیستید اما همچنان می خواهید یک کپی از فایل حذف شده داشته باشید، یکی از موارد زیر را انجام دهید:

  • یک کپی از فایل تهیه کنید.
  • با مالک تماس بگیرید تا آن را از سطل زباله بازیابی کند.

یک فایل را به سطل زباله منتقل کنید

برای انتقال فایل به سطل زباله، از روش files.update استفاده کنید و قسمت trashed را روی True قرار دهید. برای حذف فایل درایو مشترک، باید پارامتر query supportsAllDrives را نیز روی True تنظیم کنید. برای اطلاعات بیشتر، به اجرای پشتیبانی درایو مشترک مراجعه کنید.

در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی نمونه ای از منبع فایل است.

نمونه کد زیر نحوه استفاده از fileId برای علامت گذاری فایل به عنوان سطل زباله را نشان می دهد:

پایتون

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 نسخه 2 استفاده می کنید، این قسمت trashedDate نامیده می شود.
  • trashingUser : اگر فایل به صراحت حذف شده باشد، کاربری که آن را حذف کرده است.

یک فایل را از سطل زباله بازیابی کنید

برای بازیابی فایل از سطل زباله، از روش files.update استفاده کنید و قسمت trashed را روی False قرار دهید. برای حذف فایل درایو مشترک، باید پارامتر query supportsAllDrives را نیز روی True تنظیم کنید. برای اطلاعات بیشتر، به اجرای پشتیبانی درایو مشترک مراجعه کنید.

در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی نمونه ای از منبع فایل است.

نمونه کد زیر نحوه استفاده از fileId را برای علامت گذاری فایل به عنوان حذف نشده نشان می دهد:

پایتون

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 فایلی که می‌خواهید حذف کنید، جایگزین کنید.

زباله ها را خالی کنید

می‌توانید با استفاده از روش files.emptyTrash همه فایل‌های Drive را که کاربر به سطل زباله منتقل کرده است، برای همیشه حذف کنید. برای خالی کردن سطل زباله درایو مشترک، باید پارامتر query driveId را نیز روی شناسه درایو مشترک تنظیم کنید.

در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی یک نمونه خالی است.

نمونه کد زیر نحوه استفاده از fileId برای حذف همه فایل‌های موجود در سطل زباله را نشان می‌دهد:

پایتون

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

Node.js

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

حذف کنید

می‌توانید یک فایل Drive را بدون انتقال آن به سطل زباله برای همیشه حذف کنید. پس از حذف یک فایل، هرکسی که فایل را با آنها به اشتراک گذاشته اید، دسترسی به آن را از دست می دهد. اگر می‌خواهید دیگران به فایل دسترسی داشته باشند، می‌توانید قبل از حذف مالکیت را به شخص دیگری منتقل کنید .

برای حذف یک فایل درایو مشترک، کاربر باید role=organizer در پوشه والد داشته باشد. اگر در حال حذف یک پوشه هستید، تمام فرزندان متعلق به کاربر نیز حذف می شوند. برای اطلاعات بیشتر، به مجوزها مراجعه کنید.

برای حذف دائم فایل متعلق به کاربر بدون انتقال آن به سطل زباله، از روش files.delete استفاده کنید. برای حذف فایل درایو مشترک، باید پارامتر query supportsAllDrives را نیز روی True تنظیم کنید. برای اطلاعات بیشتر، به اجرای پشتیبانی درایو مشترک مراجعه کنید.

در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی یک نمونه خالی است.

نمونه کد زیر نحوه استفاده از fileId برای حذف فایل را نشان می دهد:

پایتون

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 : آیا کاربر فعلی می تواند کودکان را از این پوشه حذف کند یا خیر. وقتی مورد یک پوشه نیست، این نادرست است.

فیلدهای زیر فقط برای فایل‌هایی که در یک درایو مشترک قرار دارند پر می‌شوند:

  • capabilities.canTrashChildren : آیا کاربر فعلی می تواند فرزندان این پوشه را حذف کند یا خیر. وقتی مورد یک پوشه نیست، این نادرست است.
  • capabilities.canDeleteChildren : آیا کاربر فعلی می تواند فرزندان این پوشه را حذف کند یا خیر. وقتی مورد یک پوشه نیست، این نادرست است.

محدودیت فایل و پوشه

فایل‌ها و پوشه‌های درایو، همراه با پوشه‌های درایو مشترک، محدودیت‌هایی برای ذخیره‌سازی دارند.

به طور کلی، پس از رسیدن به محدودیت مورد، تنها راه برای ایجاد فضای بیشتر، حذف دائمی موارد یا استفاده از یک حساب دیگر است. انتقال فایل ها به سطل زباله برای آزاد کردن فضا کافی نیست.

برای اطلاعات بیشتر در مورد محدودیت های فایل و پوشه، به موارد زیر مراجعه کنید: