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ó hai 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 chúng (trong vòng 30 ngày kể từ khi chuyển vào thùng rác). Khi bạn xoá, các tệp và thư mục sẽ bị xoá vĩnh viễn 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ý các 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 fields
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 các 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 nhau, 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 tìm cách chuyển một tệp không thuộc quyền sở hữu của bạn 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 phần Quyền.
Để xác minh bạn là chủ sở hữu tệp, 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à 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 quyền sở hữu của bộ nhớ dùng chung, chứ không phải của từng người dùng. Để biết thêm thông tin về tham số fields
, hãy xem phần 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ó bản sao của tệp đã bị xoá vào thùng rác, hãy làm một trong những việc sau:
- Tạo 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
Để di chuyển một tệp vào 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 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
thành true
. Để biết thêm thông tin, hãy xem phần 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 phiên bản của tài nguyên files
.
Mã mẫu sau đây cho biết cách dùng fileId
để đánh dấu tệp là đã bị xoá 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 xoá.
Xác định các thuộc tính của tệp trong thùng rác
Khi một tệp bị xoá 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 đây được điền sẵn cho tất cả các tệp:
trashed
: Tệp đã bị xoá vào thùng rác, một cách rõ ràng hoặc từ một thư mục mẹ đã bị xoá vào thùng rác. Xin lưu ý rằng trong khi sử dụngtrashed
với phương thứcupdate
sẽ đặt trạng thái của tệp, thì phương thứcget
sẽ truy xuất trạng thái của tệp.explicitlyTrashed
: Liệu tệp có bị xoá vào thùng rác một cách rõ ràng hay không, thay vì bị xoá vào thùng rác một cách đệ quy, từ một thư mục mẹ.
Các trường sau đây chỉ được điền sẵn cho những tệp nằm trong bộ nhớ dùng chung:
trashedTime
: Thời gian xoá mục 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 Drive API v2 trước đó, thì trường này có tên làtrashedDate
.trashingUser
: Nếu tệp bị chuyển vào thùng rác một cách rõ ràng, thì đó 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 dùng phương thức update
trên tài nguyên files
với tham số đường dẫn fileId
và đặt trường boolean trashed
thành false
. Để khôi phục tệp trong bộ nhớ dùng chung, 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 phần 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 phiên bản 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à chưa bị xoá:
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 khôi phục.
Dọn sạch thùng rác
Bạn có thể xoá vĩnh viễn tất 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 tham số truy vấn driveId
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á tệp trong bộ nhớ dùng chung, người dùng phải có quyền role=organizer
đối với 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 thuộc quyền sở hữu của người dùng đó cũng sẽ bị xoá. Để biết thêm thông tin, hãy xem phần Quyền.
Để xoá vĩnh viễn một tệp thuộc sở hữu của người dùng mà không cần di 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
thành true
. Để biết thêm thông tin, hãy xem phần 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ẫu mã sau đây cho biết cách 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 theo vai trò cần thiết để chuyển tệp và thư mục 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 của từng vai trò, hãy tham khảo phần 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á tệp hoặc thư mục | ||||||
Xoá tệp và thư mục trong bộ nhớ dùng chung [*] | ||||||
Xoá bộ nhớ dùng chung không có dữ liệu |
Tính năng
Tài nguyên files
chứa một tập hợp các trường capabilities
boolean cho biết những khả năng mà người dùng có trên tệp này.
Để kiểm tra các chức 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ề tham số fields
, hãy xem phần Sử dụng tham số fields.
Các trường sau đây đượ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. Đây làfalse
khi mục không phải là thư mục.
Các trường sau đây chỉ được điền sẵn cho những 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. Đây làfalse
khi 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. Đây làfalse
khi 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ề bộ nhớ.
Thông thường, sau khi đạt đến giới hạn số lượng mục, cách duy nhất để tạo thêm không gian 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 không đủ để giải phóng dung lượng.
Để biết thêm thông tin về giới hạn đối với 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