Tạo và quản lý tệp

Hướng dẫn này giải thích cách tạo và quản lý tệp trong Google Drive bằng Google Drive API.

Tạo tệp

Để tạo một tệp không chứa siêu dữ liệu hoặc nội dung trong Drive, hãy sử dụng phương thức create trên tài nguyên files mà không có tham số.

Khi bạn tạo tệp, phương thức này sẽ trả về một tài nguyên files. Tệp này được đặt kinddrive.file, id, name là "Không có tiêu đề" và mimeTypeapplication/octet-stream. uploadType được đánh dấu là bắt buộc nhưng mặc định là media, vì vậy, bạn không thực sự phải cung cấp thuộc tính này.

Để biết thêm thông tin về giới hạn tệp trên Drive, hãy xem phần Giới hạn về tệp và thư mục.

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 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, mimeTyperesourceKey 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ể.

Quyền sở hữu tệp

Khi một tệp được tạo bằng Drive API, quyền sở hữu sẽ phụ thuộc vào thông tin xác thực mà ứng dụng sử dụng theo những cách sau:

  • Tài khoản người dùng (OAuth 2.0): Nếu ứng dụng xác thực thay cho người dùng, thì người dùng đó sẽ trở thành chủ sở hữu tệp. Sau đó, tệp sẽ nằm trong thư mục Drive của tôi hoặc một thư mục được chỉ định. Việc này sẽ tiêu tốn hạn mức bộ nhớ của họ.

  • Tài khoản dịch vụ: Nếu ứng dụng xác thực bằng Tài khoản dịch vụ, thì Tài khoản dịch vụ là chủ sở hữu tệp. Sau đó, tệp sẽ nằm trong bộ nhớ Drive chuyên dụng của Tài khoản dịch vụ. Các tệp sẽ không xuất hiện trong các tài khoản lưu trữ khác trên Drive, trừ phi bạn chia sẻ rõ ràng. Nếu Tài khoản dịch vụ bị xoá, tất cả các tệp mà tài khoản đó sở hữu sẽ bị xoá ngay lập tức.

    Nếu bạn đang sử dụng Tài khoản dịch vụ nhưng muốn một tài khoản người dùng cụ thể sở hữu một tệp, hãy sử dụng tính năng Uỷ quyền trên toàn miền. Điều này cho phép Tài khoản dịch vụ mạo danh người dùng và tạo tệp thay cho họ. Để biết thêm thông tin, hãy xem phần Uỷ quyền trên toàn miền cho tài khoản dịch vụ.

Để biết thêm thông tin về quyền đối với tệp, hãy xem bài viết Chia sẻ tệp, thư mục và ổ đĩa.

Tạo mã nhận dạng để dùng với các tệp của bạn

Phương thức generateIds trên tài nguyên files cho phép bạn tạo trước các mã nhận dạng tệp duy nhất có thể dùng khi tạo hoặc sao chép tệp và thư mục trong Drive. Điều này có thể hữu ích khi bạn cần kiểm soát mã nhận dạng tệp từ ứng dụng của mình, thay vì để Drive tự động chỉ định mã nhận dạng.

Bạn có thể đặt số lượng mã nhận dạng được tạo bằng tham số truy vấn count. Nếu bạn không đặt count, thì hệ thống sẽ trả về 10 theo mặc định. Số lượng mã nhận dạng tối đa mà bạn có thể yêu cầu là 1.000.

Bạn cũng có thể chỉ định space mà bạn có thể dùng các mã nhận dạng và type của các mặt hàng mà bạn có thể dùng các mã nhận dạng.

Sau khi được tạo, mã nhận dạng có thể được truyền đến phương thức create hoặc copy thông qua trường id. Việc này giúp đảm bảo rằng tệp được tạo hoặc sao chép sẽ sử dụng mã nhận dạng được xác định trước.

Nếu tệp được tạo hoặc sao chép thành công, các lần thử lại tiếp theo sẽ trả về phản hồi mã trạng thái HTTP 409 Conflict và các tệp trùng lặp sẽ không được tạo.

Xin lưu ý rằng bạn không thể dùng các mã nhận dạng được tạo sẵn để tạo tệp Google Workspace, ngoại trừ application/vnd.google-apps.drive-sdkapplication/vnd.google-apps.folder các loại MIME. Tương tự, hệ thống không hỗ trợ những tệp tải lên tham chiếu đến một lượt chuyển đổi sang định dạng tệp Google Workspace.

Tạo tệp chỉ chứa siêu dữ liệu

Tệp chỉ chứa siêu dữ liệu không có nội dung. Siêu dữ liệu là dữ liệu (chẳng hạn như name, mimeTypecreatedTime) mô tả tệp. Các trường như name không phụ thuộc vào người dùng và xuất hiện giống nhau đối với mỗi người dùng, trong khi các trường như viewedByMeTime chứa các giá trị dành riêng cho người dùng.

Một ví dụ về tệp chỉ có siêu dữ liệu là thư mục có loại MIME application/vnd.google-apps.folder. Để biết thêm thông tin, hãy xem phần Tạo và điền sẵn thông tin vào thư mục. Một ví dụ khác là lối tắt trỏ đến một tệp khác trên Drive có loại MIME là application/vnd.google-apps.shortcut. Để biết thêm thông tin, hãy xem bài viết Tạo lối tắt đến một tệp trên Drive.

Quản lý hình thu nhỏ

Hình thu nhỏ giúp người dùng xác định các tệp trên Drive. Drive có thể tự động tạo hình thu nhỏ cho các loại tệp phổ biến hoặc bạn có thể cung cấp hình thu nhỏ do ứng dụng của bạn tạo. Để biết thêm thông tin, hãy xem phần Tải hình thu nhỏ lên.

Sao chép một tệp hiện có

Để sao chép một tệp và áp dụng mọi nội dung cập nhật được yêu cầu, hãy sử dụng phương thức copy trên tài nguyên files. Để tìm fileId cần sao chép, hãy sử dụng phương thức list.

Bạn có thể áp dụng các nội dung cập nhật thông qua ngữ nghĩa vá, tức là bạn có thể sửa đổi một phần tài nguyên. Bạn phải đặt rõ ràng các trường mà bạn dự định sửa đổi trong yêu cầu của mình. Mọi trường không có trong yêu cầu sẽ giữ lại giá trị hiện có. Để biết thêm thông tin, hãy xem phần Xử lý tài nguyên một phần.

Bạn có thể đặt trước mã nhận dạng tệp của tệp đã sao chép bằng phương thức generateIds. Để biết thêm thông tin, hãy xem phần Tạo mã nhận dạng để sử dụng với tệp.

Xin lưu ý rằng bạn cần sử dụng một phạm vi Drive API thích hợp để uỷ quyền cho lệnh gọi. Để biết thêm thông tin về các phạm vi của Drive, hãy xem bài viết Chọn phạm vi của Google Drive API.

Giới hạn và điểm cần cân nhắc

Khi chuẩn bị sao chép tệp, hãy lưu ý những giới hạn và điểm cần cân nhắc sau:

  • Quyền:

    • Đối tượng DownloadRestrictionsMetadata của tài nguyên files xác định những người có thể sao chép tệp. Để biết thêm thông tin, hãy xem phần Ngăn người dùng tải xuống, in hoặc sao chép tệp của bạn.
    • Tài nguyên trường capabilities.canCopy xác định xem người dùng có thể sao chép tệp hay không. Để biết thêm thông tin, hãy xem phần Tìm hiểu các chức năng của tệp.
    • Người dùng tạo bản sao sẽ là chủ sở hữu của tệp được sao chép. Không có chế độ cài đặt chia sẻ nào khác từ tệp nguồn được sao chép. Nếu bản sao được tạo trong một thư mục dùng chung, thì bản sao đó sẽ kế thừa các quyền của thư mục đó.
    • Quyền sở hữu của tệp được sao chép có thể thay đổi và bản sao có thể không kế thừa chế độ cài đặt chia sẻ của tệp gốc. Có thể bạn cần đặt lại các chế độ cài đặt này.
  • Quản lý tệp:

    • Bạn không thể sao chép một số tệp, chẳng hạn như lối tắt của bên thứ ba.
    • Bạn chỉ có thể sao chép một tệp vào một thư mục mẹ. Không hỗ trợ việc chỉ định nhiều phần tử mẹ. Nếu bạn không chỉ định trường parents, thì tệp sẽ kế thừa mọi tệp mẹ có thể phát hiện được từ tệp nguồn.
    • Mặc dù thư mục là một loại tệp, nhưng bạn không thể sao chép thư mục. Thay vào đó, hãy tạo một thư mục đích và đặt trường parents của các tệp hiện có thành thư mục đích. Sau đó, bạn có thể xoá thư mục nguồn ban đầu.
    • Trừ phi bạn chỉ định tên tệp mới, phương thức copy sẽ tạo ra một tệp có cùng tên với tệp gốc.
    • Việc sử dụng quá nhiều copy có thể dẫn đến việc vượt quá hạn mức API Drive. Để biết thêm thông tin, hãy xem bài viết Hạn mức sử dụng.

Sau đây là một số bước tiếp theo mà bạn có thể thử: