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

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

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

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

ใช้พารามิเตอร์ฟิลด์

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

ถังขยะ

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

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

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

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

  • 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 เป็นรหัสไดรฟ์ที่แชร์ด้วย

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

หากทำสำเร็จ เนื้อหา การตอบกลับจะมีออบเจ็กต์ 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 ได้ที่ใช้พารามิเตอร์ของฟิลด์

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

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

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

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

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

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

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

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