Chuyển vào thùng rác hoặc xoá tệp và thư mục

Bạn có thể xoá các tệp và thư mục trên Google Drive khỏi cả Drive của tôi và bộ nhớ dùng chung. Bạn có 2 tuỳ 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ể di chuyển tệp và thư mục vào thùng rác, sau đó khôi phục chúng (trong vòng 30 ngày kể từ khi chuyển chúng vào thùng rác). Thao tác xoá tệp và thư mục sẽ xoá vĩnh viễn chúng 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 các thay đổi đó.

Hướng dẫn này giải thích cách bạn có thể vứt bỏ tệp trong Drive.

Nghệ thuật rác

Để xoá các tệp trên Drive, bạn có thể di chuyển các 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 các tệp trong thùng rác trước khoảng thời gian 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 các tệp trong thùng rác của chủ sở hữu. Nếu tìm cách chuyển tệp mà bạn không sở hữu vào thùng rác, bạn sẽ gặp lỗi insufficientFilePermissions. Để biết thêm thông tin, hãy xem bài viết Quyền.

Để xác minh bạn là chủ sở hữu tệp, hãy gọi phương thức files.get bằng 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 của người dùng cá nhân. Để biết thêm thông tin về các trường trả về bằng cách sử dụng tham số fields, hãy xem phần Trả về các trường cụ thể cho một tệp.

Nếu bạn không phải là chủ sở hữu tệp nhưng vẫn muốn sao chép tệp đã chuyển vào thùng rác, hãy làm theo một trong những cách 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 ảnh 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 phương thức files.update và đặt trường 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 supportsAllDrives thành True. Để biết thêm thông tin, hãy xem bài viết 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 tệp.

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 files khác. Bạn có thể sử dụng phương thức files.get và đưa các trường sau đây vào tham số fields. Để biết thêm thông tin, hãy xem phần Trả về các trường cụ thể cho một tệp.

Các trường sau đây được điền sẵn cho tất cả tệp:

  • trashed: Cho biết tệp được chuyển vào thùng rác, rõ ràng hay từ thư mục mẹ đã chuyển vào thùng rác. Xin lưu ý rằng mặc dù việc sử dụng trashed với phương thức files.update sẽ đặt trạng thái của tệp, nhưng phương thức files.get sẽ truy xuất trạng thái của tệp.
  • explicitlyTrashed: Liệu tệp có được chuyển vào thùng rác một cách rõ ràng (thay vì được chuyển vào thùng rác đệ quy) từ một thư mục mẹ hay không.

Các trường sau đây 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ó tên là trashedDate.
  • trashingUser: Nếu tệp đã được chuyển vào thùng rác một cách rõ ràng thì 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 trong thùng rác, hãy sử dụng phương thức files.update và đặt trường trashed thành False. Để khôi phục một tệp trong bộ nhớ dùng chung, bạn cũng phải đặt tham số truy vấn supportsAllDrives thành True. Để biết thêm thông tin, hãy xem bài viết 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 tệp.

Mã mẫu sau đây cho biết cách sử dụng fileId để đánh dấu tệp là chưa được đưa 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 đưa 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 files.emptyTrash. Để dọn sạch thùng rác của 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 thực thể trống.

Mã mẫu sau đây cho biết cách dùng fileId để xoá 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 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ẻ tệp đều sẽ mất quyền truy cập vào tệp đó. Nếu muốn những người khác giữ lại 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ành phần con cháu 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 files.delete. Để xoá tệp bộ nhớ dùng chung, bạn cũng phải đặt tham số truy vấn supportsAllDrives thành True. Để biết thêm thông tin, hãy xem bài viết 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ể trống.

Mã mẫu 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 vai trò cần thiết để thực hiện từng thao tác. Để xem danh sách đầy đủ các vai trò và các thao tác mà từng vai trò được phép, 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á vĩnh viễn một tệp hoặc thư mục
Xoá tệp và thư mục trong bộ nhớ dùng chung [*]

Tính năng

Tài nguyên files chứa tập hợp các trường boolean boolean capabilities được dùng để cho biết liệu có thể thực hiện hành động trên tệp hay không.

Để kiểm tra các tính năng, hãy gọi phương thức files.get với fileId và tham số fields được đặt thành trường capabilities. Để biết thêm thông tin về cách trả về các trường bằng tham số fields, hãy xem phần Trả về các trường cụ thể cho một tệp.

Các trường sau đây được điền sẵn cho tất 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: Liệu người dùng hiện tại có thể xoá phần tử con khỏi thư mục này hay không. Giá trị này sai khi mục không phải là thư mục.

Các trường sau đây 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 phần tử con của thư mục này vào thùng rác hay không. Giá trị này sai khi mục không phải là thư mục.
  • capabilities.canDeleteChildren: Liệu người dùng hiện tại có thể xoá phần tử con của thư mục này hay không. Giá trị này sai khi mục không phải là thư mục.