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

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

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

این راهنما نحوه‌ی حذف فایل‌ها در درایو را توضیح می‌دهد.

استفاده از پارامتر فیلدها

اگر می‌خواهید فیلدهایی را که باید در پاسخ برگردانده شوند، مشخص کنید، می‌توانید پارامتر سیستمی fields را با هر متدی از منبع files تنظیم کنید. اگر پارامتر fields را حذف کنید، سرور مجموعه‌ای پیش‌فرض از فیلدهای مختص به متد را برمی‌گرداند. برای مثال، متد list فقط فیلدهای kind ، id ، name ، mimeType و resourceKey را برای هر فایل برمی‌گرداند. برای برگرداندن فیلدهای مختلف، به بخش Return specific fields مراجعه کنید.

سطل زباله

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

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

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

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

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

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

برای انتقال یک فایل به سطل زباله، از متد update روی منبع files به همراه پارامتر مسیر fileId استفاده کنید و فیلد بولی trashed را روی true تنظیم کنید. برای حذف یک فایل درایو مشترک، باید پارامتر کوئری boolean supportsAllDrives را نیز روی true تنظیم کنید. برای اطلاعات بیشتر، به بخش پیاده‌سازی پشتیبانی از درایو مشترک مراجعه کنید.

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

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

پایتون

body_value = {'trashed': True}

response = drive_service.files().update(fileId="FILE_ID", body=body_value).execute()

نود جی اس

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 ، به بخش «استفاده از پارامتر fields» مراجعه کنید.

فیلدهای زیر برای همه فایل‌ها پر شده‌اند:

  • trashed : اینکه آیا فایل به طور صریح یا از یک پوشه والد trashed حذف شده است یا خیر. توجه داشته باشید که هنگام استفاده از trashed با متد update ، وضعیت فایل تنظیم می‌شود، متد get وضعیت فایل را بازیابی می‌کند.
  • explicitlyTrashed : اینکه آیا فایل به طور صریح، برخلاف recursively trashed، از پوشه والد، trash شده است یا خیر.

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

  • trashedTime : زمانی که آیتم در قالب تاریخ-زمان RFC 3339 حذف شده است. اگر از نسخه قبلی Drive API v2 استفاده می‌کنید، این فیلد trashedDate نامیده می‌شود.
  • trashingUser : اگر فایل صراحتاً به سطل زباله انداخته شده باشد، کاربری که آن را به سطل زباله انداخته است.

بازیابی فایل از سطل زباله

برای بازیابی یک فایل از سطل زباله، از متد update روی منبع files با پارامتر مسیر fileId استفاده کنید و فیلد boolean trashed را روی false تنظیم کنید. برای untrash کردن یک فایل درایو مشترک، باید پارامتر boolean supportsAllDrives query را نیز روی true تنظیم کنید. برای اطلاعات بیشتر، به Implement shared drive support مراجعه کنید.

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

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

پایتون

body_value = {'trashed': False}

response = drive_service.files().update(fileId="FILE_ID", body=body_value).execute()

نود جی اس

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()

نود جی اس

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

حذف

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

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

برای حذف دائمی یک فایل متعلق به کاربر بدون انتقال آن به سطل زباله، از متد delete روی منبع files استفاده کنید. برای حذف یک فایل درایو مشترک، باید پارامتر boolean یعنی supportsAllDrives را نیز روی true تنظیم کنید. برای اطلاعات بیشتر، به بخش Implement shared drive support مراجعه کنید.

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

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

پایتون

response = drive_service.files().delete(fileId="FILE_ID").execute()

نود جی اس

 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 ، به بخش «استفاده از پارامتر fields» مراجعه کنید.

فیلدهای زیر برای همه فایل‌ها پر شده‌اند:

  • capabilities.canTrash : مشخص می‌کند که آیا کاربر فعلی می‌تواند این فایل را به سطل زباله منتقل کند یا خیر.
  • capabilities.canUntrash : مشخص می‌کند که آیا کاربر فعلی می‌تواند این فایل را از سطل زباله بازیابی کند یا خیر.
  • capabilities.canDelete : مشخص می‌کند که آیا کاربر فعلی می‌تواند این فایل را حذف کند یا خیر.
  • capabilities.canRemoveChildren : آیا کاربر فعلی می‌تواند فرزندان را از این پوشه حذف کند یا خیر. این مقدار زمانی که مورد، پوشه نباشد، false است.

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

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

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

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

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

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