ทิ้งหรือลบไฟล์และโฟลเดอร์

คุณสามารถนำไฟล์และโฟลเดอร์ Google ไดรฟ์ออกจากทั้งไดรฟ์ของฉันและไดรฟ์ที่แชร์ได้ คุณมี 2 ทางเลือกในการดำเนินการ คือ ถังขยะหรือลบ

คุณสามารถย้ายไฟล์และโฟลเดอร์ไปยังถังขยะและกู้คืนได้ (ภายใน 30 วันหลังจากทิ้งลงถังขยะ) การลบไฟล์และโฟลเดอร์จะนำไฟล์และโฟลเดอร์ดังกล่าวออกจากไดรฟ์อย่างถาวร หากคุณทิ้ง กู้คืน หรือลบไฟล์หรือโฟลเดอร์หลายรายการแบบถาวรในคราวเดียว อาจใช้เวลาสักระยะจึงจะสังเกตเห็นการเปลี่ยนแปลงในระบบ

คำแนะนำนี้จะอธิบายวิธีกำจัดไฟล์ในไดรฟ์

ขยะ

หากต้องการนำไฟล์ในไดรฟ์ออก คุณสามารถย้ายไฟล์เหล่านั้นไปที่ถังขยะได้ ระบบจะลบไฟล์ในถังขยะโดยอัตโนมัติ หลังจากผ่านไป 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 เวอร์ชัน 2 ก่อนหน้า ช่องนี้จะเรียกว่า 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 ของไฟล์ที่ต้องการยกเลิกการย้าย

ล้างข้อมูลในถังขยะ

คุณจะลบไฟล์ทั้งหมดในไดรฟ์ที่ผู้ใช้ย้ายไปที่ถังขยะอย่างถาวรได้โดยใช้เมธอด files.emptyTrash หากต้องการล้างข้อมูลในถังขยะของไดรฟ์ที่แชร์ คุณจะต้องตั้งค่าพารามิเตอร์การค้นหา driveId เป็นรหัสไดรฟ์ที่แชร์ด้วย

หากสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ที่ว่างเปล่า

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้ fileId เพื่อลบไฟล์ทั้งหมดในถังขยะ

Python

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

Node.js

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

ลบ

คุณสามารถลบไฟล์ไดรฟ์อย่างถาวรโดยไม่ต้องย้ายไฟล์ไปยังถังขยะ หลังจากลบไฟล์แล้ว ใครก็ตามที่คุณแชร์ไฟล์ด้วยจะเสียสิทธิ์เข้าถึงไฟล์นั้น หากต้องการให้ผู้อื่นยังคงเข้าถึงไฟล์ได้ คุณจะโอนความเป็นเจ้าของให้บุคคลอื่นก่อนที่จะลบได้

หากต้องการลบไฟล์ในไดรฟ์ที่แชร์ ผู้ใช้ต้องมี 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: ผู้ใช้ปัจจุบันจะนำบุตรหลานออกจากโฟลเดอร์นี้ได้หรือไม่ ซึ่งจะเป็นเท็จเมื่อรายการไม่ใช่โฟลเดอร์

ระบบจะป้อนข้อมูลในช่องต่อไปนี้สำหรับไฟล์ที่อยู่ในไดรฟ์ที่แชร์เท่านั้น

  • capabilities.canTrashChildren: ระบุว่าผู้ใช้ปัจจุบันสามารถทิ้งโฟลเดอร์ย่อยของโฟลเดอร์นี้ได้หรือไม่ ซึ่งจะเป็นเท็จเมื่อรายการไม่ใช่โฟลเดอร์
  • capabilities.canDeleteChildren: ผู้ใช้ปัจจุบันจะลบย่อยของโฟลเดอร์นี้ได้หรือไม่ ซึ่งจะเป็นเท็จเมื่อรายการไม่ใช่โฟลเดอร์

ขีดจำกัดของไฟล์และโฟลเดอร์

ไฟล์และโฟลเดอร์ในไดรฟ์ รวมถึงโฟลเดอร์ในไดรฟ์ที่แชร์จะมีขีดจำกัดพื้นที่เก็บข้อมูลบางส่วน

โดยทั่วไป เมื่อรายการถึงขีดจํากัดแล้ว วิธีเดียวที่จะเพิ่มพื้นที่ได้คือการลบรายการอย่างถาวร หรือใช้บัญชีอื่น การย้ายไฟล์ไปยังถังขยะไม่เพียงพอที่จะเพิ่มพื้นที่ว่าง

โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับขีดจำกัดของไฟล์และโฟลเดอร์ในส่วนต่อไปนี้