Bạn có thể xoá tệp và thư mục trên Google Drive khỏi cả phần Drive của tôi và bộ nhớ dùng chung. Bạn có 2 lựa chọn để thực hiện việc này: chuyển vào thùng rác hoặc xoá.
Bạn có thể chuyển tệp và thư mục vào thùng rác rồi khôi phục (trong vòng 30 ngày kể từ khi chuyển vào thùng rác). Việc xoá tệp và thư mục sẽ xoá vĩnh viễn các tệp và thư mục đó khỏi Drive. Nếu bạn chuyển vào thùng rác, khôi phục hoặc xoá vĩnh viễn nhiều tệp hoặc thư mục cùng một lúc, thì có thể mất một chút thời gian bạn mới nhận thấy sự thay đổi.
Hướng dẫn này giải thích cách bạn có thể xử lý tệp trong Drive.
Sử dụng tham số fields
Nếu muốn chỉ định các trường cần trả về trong phản hồi, bạn có thể đặt
fields tham số
hệ thống
bằng bất kỳ phương thức nào của tài nguyên files. Nếu bạn bỏ qua tham số fields, máy chủ sẽ trả về một tập hợp trường mặc định dành riêng cho phương thức đó. Ví dụ: phương thức
list chỉ trả về các trường kind, id,
name, mimeType, và resourceKey cho mỗi tệp. Để trả về các trường khác, hãy xem phần Trả về các trường cụ thể.
Thùng rác
Để xoá tệp trên Drive, bạn có thể chuyển tệp vào thùng rác. Các tệp trong thùng rác sẽ tự động bị xoá sau 30 ngày. Bạn có thể khôi phục tệp trong thùng rác trước thời hạn 30 ngày đó.
Chỉ chủ sở hữu tệp mới có thể chuyển tệp vào thùng rác và những người dùng khác không thể xem tệp trong thùng rác của chủ sở hữu. Nếu cố gắng chuyển một tệp mà bạn không sở hữu vào thùng rác, bạn sẽ nhận được lỗi
insufficientFilePermissions. Để biết thêm thông tin, hãy xem bài viết Quyền.
Để xác minh rằng bạn là chủ sở hữu tệp, hãy gọi get
phương thức trên tài nguyên files bằng tham số đường dẫn fileId
và tham số fields được đặt thành trường boolean ownedByMe. Trường ownedByMe không được điền sẵn cho các tệp trong bộ nhớ dùng chung vì các tệp này thuộc sở hữu của bộ nhớ dùng chung chứ không phải người dùng riêng lẻ. Để biết thêm thông tin về tham số fields,
hãy xem Sử dụng tham số fields.
Nếu bạn không phải là chủ sở hữu tệp nhưng vẫn muốn có một bản sao của tệp đã chuyển vào thùng rác, hãy thực hiện một trong những việc sau:
- Tạo một bản sao của tệp đó.
- Liên hệ với chủ sở hữu để yêu cầu họ khôi phục tệp đó từ thùng rác.
Chuyển tệp vào thùng rác
Để chuyển một tệp vào thùng rác, hãy sử dụng update
phương thức trên tài nguyên files bằng tham số đường dẫn fileId
và đặt trường boolean
trashed thành true. Để
chuyển một tệp trong bộ nhớ dùng chung vào thùng rác, bạn cũng phải đặt tham số truy vấn boolean supportsAllDrives query
parameter thành true. Để biết thêm thông tin, hãy xem Triển khai tính năng hỗ trợ bộ nhớ dùng chung.
Nếu thành công, nội dung
phản hồi sẽ chứa một thực thể của tài nguyên
files.
Mã mẫu sau đây cho biết cách sử dụng fileId để đánh dấu tệp là đã chuyển vào thùng rác:
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;
Thay thế FILE_ID bằng fileId của tệp mà bạn muốn
chuyển vào thùng rác.
Xác định thuộc tính của tệp đã chuyển vào thùng rác
Khi một tệp được chuyển vào thùng rác, bạn có thể truy xuất các thuộc tính bổ sung của tệp. Bạn có thể sử dụng
phương thức get trên tài nguyên files bằng tham số đường dẫn fileId và sử dụng một
trong các trường đã chuyển vào thùng rác sau đây trong tham số fields. Để biết thêm thông tin
về tham số fields, hãy xem phần Sử dụng tham số fields.
Các trường sau được điền sẵn cho tất cả các tệp:
trashed: Tệp có được chuyển vào thùng rác hay không, một cách rõ ràng hoặc từ một thư mục mẹ đã chuyển vào thùng rác. Xin lưu ý rằng trong khi sử dụngtrashedvới phương thứcupdatesẽ đặt trạng thái của tệp, thì phương thứcgetsẽ truy xuất trạng thái của tệp.explicitlyTrashed: Tệp có được chuyển vào thùng rác một cách rõ ràng hay không, trái ngược với việc chuyển vào thùng rác một cách đệ quy từ một thư mục mẹ.
Các trường sau chỉ được điền sẵn cho các tệp nằm trong bộ nhớ dùng chung:
trashedTime: Thời gian mục được chuyển vào thùng rác ở định dạng ngày giờ RFC 3339. Nếu bạn đang sử dụng phiên bản API Drive v2 trước đó, trường này sẽ được gọitrashedDate.trashingUser: Nếu tệp được chuyển vào thùng rác một cách rõ ràng, thì đây là người dùng đã chuyển tệp đó vào thùng rác.
Khôi phục tệp từ thùng rác
Để khôi phục một tệp từ thùng rác, hãy sử dụng phương thức
update trên tài nguyên files bằng tham số đường dẫn fileId và đặt trường
boolean trashed thành
false. Để bỏ chuyển một tệp trong bộ nhớ dùng chung vào thùng rác, bạn cũng phải đặt tham số truy vấn boolean
supportsAllDrives thành true. Để biết thêm thông tin, hãy xem Triển khai tính năng hỗ trợ bộ nhớ dùng chung.
Nếu thành công, nội dung
phản hồi sẽ chứa một thực thể của tài nguyên
files.
Mã mẫu sau đây cho biết cách sử dụng fileId để đánh dấu tệp là đã bỏ chuyển vào thùng rác:
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;
Thay thế FILE_ID bằng fileId của tệp mà bạn muốn
bỏ chuyển vào thùng rác.
Dọn sạch thùng rác
Bạn có thể xoá vĩnh viễn tất cả các tệp trên Drive mà người dùng đã chuyển vào
thùng rác bằng phương thức
emptyTrash trên tài nguyên files. Để dọn sạch thùng rác của một bộ nhớ dùng chung, bạn
cũng phải đặt
driveId
tham số truy vấn thành mã bộ nhớ dùng chung.
Nếu thành công, nội dung phản hồi sẽ chứa một đối tượng JSON trống.
Mã mẫu sau đây cho biết cách sử dụng fileId để xoá vĩnh viễn tất cả các tệp trong thùng rác:
Python
response = drive_service.files().emptyTrash().execute()
Node.js
const response = await drive_service.files.emptyTrash({
});
return response;
Xoá
Bạn có thể xoá vĩnh viễn một tệp trên Drive mà không cần chuyển tệp đó vào thùng rác. Sau khi bạn xoá một tệp, bất kỳ ai được bạn chia sẻ đều sẽ mất quyền truy cập vào tệp đó. Nếu muốn người khác vẫn có quyền truy cập vào tệp đó, bạn có thể chuyển quyền sở hữu cho người khác trước khi xoá.
Để xoá một tệp trong bộ nhớ dùng chung, người dùng phải có role=organizer trên thư mục mẹ. Nếu bạn đang xoá một thư mục, thì tất cả các thư mục con do người dùng sở hữu cũng sẽ bị xoá. Để biết thêm thông tin, hãy xem bài viết Quyền.
Để xoá vĩnh viễn một tệp do người dùng sở hữu mà không cần chuyển tệp đó vào thùng rác, hãy sử dụng phương thức
delete trên tài nguyên files. Để xoá một tệp trong bộ nhớ dùng chung, bạn cũng phải
đặt tham số truy vấn boolean supportsAllDrives query
thành true. Để biết thêm thông tin, hãy xem Triển khai tính năng hỗ trợ bộ nhớ dùng chung.
Nếu thành công, nội dung phản hồi sẽ chứa một đối tượng JSON trống.
Mã mẫu sau đây cho biết cách sử dụng fileId để xoá tệp:
Python
response = drive_service.files().delete(fileId="FILE_ID").execute()
Node.js
const response = await drive_service.files.delete({
fileId: 'FILE_ID'
});
return response;
Thay thế FILE_ID bằng fileId của tệp mà bạn muốn
xoá.
Quyền
Bảng sau đây cho biết các quyền vai trò cần thiết để chuyển vào thùng rác hoặc xoá tệp và thư mục. Để xem danh sách đầy đủ các vai trò và thao tác được phép đối với từng vai trò, hãy tham khảo bài viết Vai trò và quyền.
| Thao tác được phép | owner |
organizer |
fileOrganizer |
writer |
commenter |
reader |
|---|---|---|---|---|---|---|
| Chuyển tệp và thư mục vào thùng rác | ||||||
| Khôi phục tệp và thư mục từ thùng rác | ||||||
| Dọn sạch thùng rác | ||||||
| Xoá một tệp hoặc thư mục | ||||||
| Xoá tệp và thư mục trong bộ nhớ dùng chung [*] | ||||||
| Xoá một bộ nhớ dùng chung trống |
Tính năng
Tài nguyên files chứa một tập hợp các trường boolean
capabilities cho biết các tính năng mà người dùng có trên tệp này.
Để kiểm tra các tính năng, hãy gọi phương thức get trên tài nguyên files bằng tham số đường dẫn fileId và sử dụng một trong các trường capabilities sau đây trong tham số fields. Để biết thêm thông tin về fields
tham số, hãy xem phần Sử dụng tham số fields.
Các trường sau được điền sẵn cho tất cả các tệp:
capabilities.canTrash: Người dùng hiện tại có thể chuyển tệp này vào thùng rác hay không.capabilities.canUntrash: Người dùng hiện tại có thể khôi phục tệp này từ thùng rác hay không.capabilities.canDelete: Người dùng hiện tại có thể xoá tệp này hay không.capabilities.canRemoveChildren: Người dùng hiện tại có thể xoá các thư mục con khỏi thư mục này hay không. Giá trị này làfalsekhi mục không phải là thư mục.
Các trường sau chỉ được điền sẵn cho các tệp nằm trong bộ nhớ dùng chung:
capabilities.canTrashChildren: Người dùng hiện tại có thể chuyển các thư mục con của thư mục này vào thùng rác hay không. Giá trị này làfalsekhi mục không phải là thư mục.capabilities.canDeleteChildren: Người dùng hiện tại có thể xoá các thư mục con của thư mục này hay không. Giá trị này làfalsekhi mục không phải là thư mục.
Giới hạn về tệp và thư mục
Tệp và thư mục trên Drive, cùng với thư mục trong bộ nhớ dùng chung, có một số giới hạn về dung lượng lưu trữ.
Thông thường, sau khi đạt đến giới hạn về mục, cách duy nhất để tạo thêm dung lượng là xoá vĩnh viễn các mục hoặc sử dụng một tài khoản khác. Việc chuyển tệp vào thùng rác là không đủ để giải phóng dung lượng.
Để biết thêm thông tin về giới hạn về tệp và thư mục, hãy xem các phần sau:
Chủ đề có liên quan
- Xoá tệp trong Google Drive
- Sự khác biệt giữa API Bộ nhớ dùng chung và API Drive của tôi
- Vai trò và quyền