میتوانید فایلها و پوشههای Google Drive را هم از My Drive و هم از درایوهای مشترک حذف کنید. برای انجام این کار دو گزینه دارید: حذف یا حذف کردن.
می توانید فایل ها و پوشه ها را به سطل زباله منتقل کنید و سپس آنها را بازیابی کنید (در عرض 30 روز پس از سطل زباله). با حذف فایلها و پوشهها، آنها برای همیشه از Drive حذف میشوند. اگر چندین فایل یا پوشه را همزمان حذف کنید، بازیابی کنید یا به طور دائم حذف کنید، ممکن است زمان زیادی طول بکشد تا متوجه تغییرات شوید.
این راهنما توضیح می دهد که چگونه می توانید فایل ها را در Drive از بین ببرید.
از پارامتر فیلدها استفاده کنید
اگر میخواهید فیلدهایی را برای بازگشت در پاسخ مشخص کنید، میتوانید پارامتر سیستم fields را با هر روشی از منبع files تنظیم کنید. اگر پارامتر fields را حذف کنید، سرور یک مجموعه پیشفرض از فیلدهای مخصوص روش را برمیگرداند. برای مثال، روش list فقط فیلدهای kind ، id ، name ، mimeType و resourceKey را برای هر فایل برمیگرداند. برای برگرداندن فیلدهای مختلف، به بازگشت فیلدهای خاص مراجعه کنید.
سطل زباله
برای حذف فایلهای Drive، میتوانید آنها را به سطل زباله منتقل کنید. فایل های موجود در سطل زباله پس از 30 روز به طور خودکار حذف می شوند. می توانید قبل از دوره 30 روزه فایل ها را از سطل زباله خود بازیابی کنید.
فقط مالک فایل می تواند یک فایل را حذف کند و سایر کاربران نمی توانند فایل ها را در سطل زباله مالک مشاهده کنند. اگر بخواهید فایلی را که متعلق به خود نیستید حذف کنید، یک خطای insufficientFilePermissions دریافت می کنید. برای اطلاعات بیشتر، به مجوزها مراجعه کنید.
برای تأیید اینکه مالک فایل هستید، متد get را در منبع files با پارامتر مسیر fileId و پارامتر fields روی فیلد بولین ownedByMe تنظیم شده است. فیلد ownedByMe برای فایلهای درایوهای مشترک پر نشده است، زیرا متعلق به درایو مشترک است، نه کاربران فردی. برای اطلاعات بیشتر در مورد پارامتر fields ، به استفاده از پارامتر فیلدها مراجعه کنید.
اگر مالک فایل نیستید اما همچنان می خواهید یک کپی از فایل حذف شده داشته باشید، یکی از موارد زیر را انجام دهید:
- یک کپی از فایل تهیه کنید.
- با مالک تماس بگیرید تا آن را از سطل زباله بازیابی کند.
یک فایل را به سطل زباله منتقل کنید
برای انتقال فایل به سطل زباله، از روش update در منبع files با پارامتر مسیر fileId استفاده کنید و فیلد trashed بولی را روی true تنظیم کنید. برای حذف فایل درایو مشترک، باید پارامتر query boolean supportsAllDrives را نیز روی true تنظیم کنید. برای اطلاعات بیشتر، به اجرای پشتیبانی درایو مشترک مراجعه کنید.
در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی نمونه ای از منبع files است.
نمونه کد زیر نحوه استفاده از 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 فایلی که میخواهید حذف کنید، جایگزین کنید.
ویژگی های فایل سطل زباله را تعیین کنید
هنگامی که یک فایل حذف می شود، می توانید ویژگی های فایل اضافی را بازیابی کنید. می توانید از متد get در منبع files با پارامتر مسیر fileId استفاده کنید و از یکی از فیلدهای حذف شده زیر در پارامتر fields استفاده کنید. برای اطلاعات بیشتر در مورد پارامتر fields ، به استفاده از پارامتر فیلدها مراجعه کنید.
فیلدهای زیر برای همه فایل ها پر شده است:
-
trashed: این که آیا فایل به صراحت یا از یک پوشه والد حذف شده حذف شده است. توجه داشته باشید که در حالی که استفاده ازtrashedبا روشupdateوضعیت فایل را تنظیم می کند، روشgetوضعیت فایل را بازیابی می کند. -
explicitlyTrashed: اینکه آیا فایل به طور صریح از پوشه والد حذف شده است یا نه.
فیلدهای زیر فقط برای فایلهایی که در یک درایو مشترک قرار دارند پر میشوند:
-
trashedTime: زمانی که مورد در قالب تاریخ-زمان RFC 3339 حذف شد. اگر از نسخه قبلی Drive API نسخه 2 استفاده می کنید، این قسمتtrashedDateنامیده می شود. -
trashingUser: اگر فایل به صراحت حذف شده باشد، کاربری که آن را حذف کرده است.
یک فایل را از سطل زباله بازیابی کنید
برای بازیابی یک فایل از سطل زباله، از روش update در منبع files با پارامتر مسیر fileId استفاده کنید و قسمت سطل trashed بولی را روی false تنظیم کنید. برای حذف یک فایل درایو اشتراکی، باید پارامتر query boolean supportsAllDrives را نیز روی true تنظیم کنید. برای اطلاعات بیشتر، به اجرای پشتیبانی درایو مشترک مراجعه کنید.
در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی نمونه ای از منبع files است.
نمونه کد زیر نحوه استفاده از 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 فایلی که میخواهید حذف کنید، جایگزین کنید.
زباله ها را خالی کنید
میتوانید همه فایلهای Drive را که کاربر به سطل زباله منتقل کرده است، با استفاده از روش emptyTrash در منبع files ، برای همیشه حذف کنید. برای خالی کردن سطل زباله درایو مشترک، باید پارامتر query driveId را نیز روی شناسه درایو مشترک تنظیم کنید.
در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی یک شی JSON خالی است.
نمونه کد زیر نحوه استفاده از fileId برای حذف دائمی فایلهای موجود در سطل زباله را نشان میدهد:
پایتون
response = drive_service.files().emptyTrash().execute()
Node.js
const response = await drive_service.files.emptyTrash({
});
return response;
حذف کنید
میتوانید یک فایل Drive را بدون انتقال آن به سطل زباله برای همیشه حذف کنید. پس از حذف یک فایل، هرکسی که فایل را با آنها به اشتراک گذاشته اید، دسترسی به آن را از دست می دهد. اگر میخواهید دیگران به فایل دسترسی داشته باشند، میتوانید قبل از حذف مالکیت را به شخص دیگری منتقل کنید .
برای حذف یک فایل درایو مشترک، کاربر باید role=organizer در پوشه والد داشته باشد. اگر در حال حذف یک پوشه هستید، تمام فرزندان متعلق به کاربر نیز حذف می شوند. برای اطلاعات بیشتر، به مجوزها مراجعه کنید.
برای حذف دائم فایل متعلق به کاربر بدون انتقال آن به سطل زباله، از روش delete در منبع files استفاده کنید. برای حذف یک فایل درایو مشترک، باید پارامتر query boolean supportsAllDrives را نیز روی true تنظیم کنید. برای اطلاعات بیشتر، به اجرای پشتیبانی درایو مشترک مراجعه کنید.
در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی یک شی JSON خالی است.
نمونه کد زیر نحوه استفاده از 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 بولی است که نشان دهنده قابلیت های کاربر در این فایل است.
برای بررسی قابلیت ها، متد get را در منبع files با پارامتر مسیر fileId فراخوانی کنید و از یکی از فیلدهای capabilities زیر در پارامتر fields استفاده کنید. برای اطلاعات بیشتر در مورد پارامتر fields ، به استفاده از پارامتر فیلدها مراجعه کنید.
فیلدهای زیر برای همه فایل ها پر شده است:
-
capabilities.canTrash: آیا کاربر فعلی می تواند این فایل را به سطل زباله منتقل کند یا خیر. -
capabilities.canUntrash: آیا کاربر فعلی می تواند این فایل را از سطل زباله بازیابی کند یا خیر. -
capabilities.canDelete: آیا کاربر فعلی می تواند این فایل را حذف کند یا خیر. -
capabilities.canRemoveChildren: آیا کاربر فعلی می تواند کودکان را از این پوشه حذف کند یا خیر. وقتی مورد یک پوشه نیست، اینfalseاست.
فیلدهای زیر فقط برای فایلهایی که در یک درایو مشترک قرار دارند پر میشوند:
-
capabilities.canTrashChildren: آیا کاربر فعلی می تواند فرزندان این پوشه را حذف کند یا خیر. وقتی مورد یک پوشه نیست، اینfalseاست. -
capabilities.canDeleteChildren: آیا کاربر فعلی می تواند فرزندان این پوشه را حذف کند یا خیر. وقتی مورد یک پوشه نیست، اینfalseاست.
محدودیت های فایل و پوشه
فایلها و پوشههای درایو، همراه با پوشههای درایو مشترک، محدودیتهایی برای ذخیرهسازی دارند.
به طور کلی، پس از رسیدن به محدودیت مورد، تنها راه برای ایجاد فضای بیشتر، حذف دائمی موارد یا استفاده از یک حساب دیگر است. انتقال فایل ها به سطل زباله برای آزاد کردن فضا کافی نیست.
برای اطلاعات بیشتر در مورد محدودیت های فایل و پوشه، به موارد زیر مراجعه کنید: