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

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

กู้คืนไฟล์จากถังขยะ

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

หากทำสำเร็จ เนื้อหา การตอบกลับจะมีอินสแตนซ์ของทรัพยากร files

ย้ายข้อมูลไปยัง Drive API v3

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้ 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 query เป็นรหัสไดรฟ์ที่แชร์ด้วย

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

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

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

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

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

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