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