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ó 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ể di chuyển các 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 vào thùng rác). Thao tác xoá các 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á 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 từ thùng rác trước khoảng thời gian 30 ngày này.

Chỉ chủ sở hữu tệp mới có thể chuyển tệp vào thùng rác, còn những người dùng khác thì 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ẽ 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 với 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ề việc trả về các trường bằng cách sử dụng tham số fields, hãy xem bài viết 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 có bản sao của 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 cho 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 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 phiên bản 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 các thuộc tính của một tệp được chuyển vào thùng rác

Khi một tệp bị 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 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.

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

  • trashed: Liệu tệp có bị chuyển vào thùng rác, dù là từ một thư mục mẹ đã chuyển vào thùng rác hay không. Lưu ý rằng trong khi việc sử dụng trashed với phương thức files.update sẽ đặt trạng thái của tệp, phương thức files.get sẽ truy xuất trạng thái của tệp.
  • explicitlyTrashed: Liệu tệp có bị chuyển vào thùng rác một cách rõ ràng chứ không phải 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 những tệp nằm trong bộ nhớ dùng chung:

  • trashedTime: Thời gian mà 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 phiên bản 2 cũ, trường này sẽ được gọi là trashedDate.
  • trashingUser: Nếu tệp đã bị chuyển vào thùng rác một cách rõ ràng, thì tức 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 files.update và đặt trường trashed thành False. Để khôi phục 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 phiên bản 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à đã huỷ trong 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 khôi phụ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 một bộ nhớ dùng chung, bạn cũng phải đặt tham số truy vấn driveId thành mã nhận dạng của 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ả 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ể xóa vĩnh viễn một tệp trên Drive mà không cần di chuyển tệp đó vào thùng rác. Sau khi bạn xoá một tệp, bất kỳ ai mà 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 trong thư mục mẹ. Nếu bạn đang xoá một thư mục, 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 chuyển tệp đó vào thùng rác, hãy sử dụng phương thức files.delete. Để xoá 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ể 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 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 để thực hiện từng thao tác. Để xem danh sách đầy đủ các vai trò và những thao tác mà mỗi vai trò được phép, 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á vĩnh viễn tệp hoặc thư mục
Xoá các tệp và thư mục trong bộ nhớ dùng chung [*]

Tính năng

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

Để kiểm tra các chức 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ề việc trả về các trường bằng tham số fields, hãy xem bài viết Trả về các trường cụ thể cho một tệp.

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

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

Giới hạn về tệp và thư mục

Các tệp và thư mục trên Drive, cùng với các thư mục trên bộ nhớ dùng chung, đều có một số hạn mức bộ nhớ.

Thông thường, sau khi đạt đến hạn mức 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 các 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 đối với tệp và thư mục, hãy xem các phần sau: