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

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

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

คู่มือนี้อธิบายวิธีนำไฟล์ในไดรฟ์ออก

ใช้พารามิเตอร์ `fields`

หากต้องการระบุช่องที่จะแสดงผลในการตอบกลับ คุณสามารถตั้งค่า fields พารามิเตอร์ ระบบ ด้วยเมธอดใดก็ได้ของทรัพยากร files หากไม่ใส่พารามิเตอร์ fields เซิร์ฟเวอร์จะแสดงผลชุดช่องเริ่มต้นที่เฉพาะเจาะจงกับเมธอด ตัวอย่างเช่น เมธอด list จะแสดงผลเฉพาะช่อง kind, id, name, mimeType, และ resourceKey สำหรับแต่ละไฟล์ หากต้องการแสดงผลช่องอื่น ให้ดูที่แสดงผลช่องที่เฉพาะเจาะจง

ถังขยะ

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

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

หากต้องการยืนยันว่าคุณเป็นเจ้าของไฟล์ ให้เรียกใช้get เมธอดในfilesทรัพยากรด้วยfileId พารามิเตอร์เส้นทางและfieldsพารามิเตอร์ที่ตั้งค่าเป็นช่องบูลีนownedByMe ระบบจะไม่ป้อนข้อมูลในช่อง ownedByMe สำหรับไฟล์ในไดรฟ์ที่แชร์เนื่องจากไฟล์เหล่านั้นเป็นของไดรฟ์ที่แชร์ ไม่ใช่ของผู้ใช้แต่ละราย ดูข้อมูลเพิ่มเติมเกี่ยวกับพารามิเตอร์ fields ได้ที่ ใช้พารามิเตอร์ `fields`

หากคุณไม่ใช่เจ้าของไฟล์แต่ยังต้องการสำเนาของไฟล์ที่ย้ายไปที่ถังขยะ ให้ทำอย่างใดอย่างหนึ่งต่อไปนี้

  • ทำสำเนาของไฟล์
  • ติดต่อเจ้าของไฟล์เพื่อขอให้กู้คืนไฟล์จากถังขยะ

ย้ายไฟล์ไปที่ถังขยะ

หากต้องการย้ายไฟล์ไปที่ถังขยะ ให้ใช้update เมธอดในทรัพยากรfilesด้วยพารามิเตอร์เส้นทางfileId และตั้งค่าช่องบูลีน 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 ของไฟล์ที่ต้องการ ย้ายไปที่ถังขยะ

กำหนดพร็อพเพอร์ตี้ของไฟล์ที่ย้ายไปที่ถังขยะ

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

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

  • trashed: ไฟล์ถูกย้ายไปที่ถังขยะหรือไม่ ไม่ว่าจะโดยชัดแจ้งหรือจากโฟลเดอร์หลักที่ย้ายไปที่ถังขยะ โปรดทราบว่าขณะใช้ trashed กับเมธอด update จะเป็นการตั้งค่าสถานะของไฟล์ แต่เมธอด get จะดึงข้อมูลสถานะของไฟล์
  • explicitlyTrashed: ไฟล์ถูกย้ายไปที่ถังขยะโดยชัดแจ้งหรือไม่ ไม่ว่าจะโดยชัดแจ้งหรือแบบเรียกซ้ำจากโฟลเดอร์หลัก

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

  • trashedTime: เวลา ที่ย้ายรายการไปที่ถังขยะในรูปแบบวันที่และเวลา RFC 3339 หาก คุณใช้ Drive API เวอร์ชัน 2 ก่อนหน้า ช่องนี้จะ เรียกว่า trashedDate
  • trashingUser: หากไฟล์ถูกย้ายไปที่ถังขยะโดยชัดแจ้ง ผู้ใช้ที่ย้ายไฟล์ไปที่ถังขยะ

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

หากต้องการกู้คืนไฟล์จากถังขยะ ให้ใช้เมธอด update ในทรัพยากร files ด้วยพารามิเตอร์เส้นทาง fileId และตั้งค่าช่อง บูลีน 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 ของไฟล์ที่ต้องการ กู้คืน

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

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

หากทำสำเร็จ เนื้อหาคำตอบresponse bodyจะเป็นออบเจ็กต์ JSON ว่าง

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

Python

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

Node.js

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

ลบ

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

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

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

หากทำสำเร็จ เนื้อหาคำตอบresponse bodyจะเป็นออบเจ็กต์ JSON ว่าง

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

หากต้องการตรวจสอบความสามารถ ให้เรียกใช้เมธอด get ในทรัพยากร files ด้วยพารามิเตอร์เส้นทาง fileId และใช้ช่อง capabilities ช่องใดช่องหนึ่งต่อไปนี้ในพารามิเตอร์ fields ดูข้อมูลเพิ่มเติมเกี่ยวกับfields พารามิเตอร์ ได้ที่ใช้พารามิเตอร์ `fields`

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

  • capabilities.canTrash: ผู้ใช้ปัจจุบันย้ายไฟล์นี้ไปที่ถังขยะได้หรือไม่
  • capabilities.canUntrash: ผู้ใช้ปัจจุบันกู้คืนไฟล์นี้จากถังขยะได้หรือไม่
  • capabilities.canDelete: ผู้ใช้ปัจจุบันลบไฟล์นี้ได้หรือไม่
  • capabilities.canRemoveChildren: ผู้ใช้ปัจจุบันนำโฟลเดอร์ย่อยออกจากโฟลเดอร์นี้ได้หรือไม่ ช่องนี้จะเป็น false เมื่อรายการไม่ใช่โฟลเดอร์

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

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

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

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

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

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