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

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

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

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

ขยะ

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

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

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

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

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

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

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

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

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

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

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