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

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

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

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

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

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