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 API Google Drive.

Tạo tệp

Để tạo một tệp trong Drive không chứa siêu dữ liệu hoặc nội dung, 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 được cấp kinddrive.file, id, name là "Untitled" 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 giá trị 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 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ể.

Quyền sở hữu tệp

Khi một tệp được tạo bằng API Drive, 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 mặt cho một 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. Tệp này sẽ sử dụng hạn mức bộ nhớ của người dùng.

  • 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ụ sẽ là chủ sở hữu tệp. Sau đó, tệp sẽ nằm trong bộ nhớ Drive dành riêng của Tài khoản dịch vụ. Tệp sẽ không xuất hiện trong các tài khoản bộ nhớ Drive khác, trừ phi được chia sẻ một cách rõ ràng. Nếu Tài khoản dịch vụ bị xoá, thì 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. Tính năng này cho phép Tài khoản dịch vụ mạo danh một người dùng và tạo tệp thay mặt cho người dùng đó. Để biết thêm thông tin, hãy xem bài viết 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à bộ nhớ dùng chung.

Tạo mã nhận dạng để sử dụng với tệp

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.

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à mã nhận dạng có thể được sử dụng và type của các mục mà mã nhận dạng có thể được dùng.

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

Nếu tệp được tạo hoặc sao chép thành công, thì 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 hệ thống không hỗ trợ mã nhận dạng được tạo trước để tạo tệp Google Workspace, ngoại trừ các loạiapplication/vnd.google-apps.drive-sdkapplication/vnd.google-apps.folder MIME. Tương tự, hệ thống không hỗ trợ các lượt tải lên tham chiếu đến việc chuyển đổi sang định dạng tệp Google Workspace.

Tạo tệp chỉ có siêu dữ liệu

Tệp chỉ có siêu dữ liệu không chứa 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 bài viết Tạo và điền 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 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 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 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 bài viết 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 nội dung cập nhật thông qua ngữ nghĩa bản vá, nghĩa 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. 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 bài viết Làm việc với 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 được sao chép bằng phương thức generateIds. Để biết thêm thông tin, hãy xem 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 phạm vi API Drive thích hợp để uỷ quyền cho lệnh gọi. Để biết thêm thông tin về phạm vi Drive, hãy xem Chọn phạm vi API Google Drive.

Giới hạn và lưu ý

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

  • Quyền:

    • Đối tượng DownloadRestrictionsMetadata của tài nguyên files xác định người có thể sao chép tệp. Để biết thêm thông tin, hãy xem bài viết Ngăn người dùng tải xuống, in hoặc sao chép tệp.
    • 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 Tìm hiểu về các tính năng của tệp.
    • Người dùng tạo bản sao sẽ sở hữu 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 tệp được sao chép có thể thay đổi và bản sao có thể không kế thừa cài đặt cách chia sẻ của tệp gốc. Bạn có thể cần đặt lại các chế độ cài đặt này.
  • Quản lý tệp:

    • Bạn không bao giờ có 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ẹ. Hệ thống không hỗ trợ việc chỉ định nhiều thư mục mẹ. Nếu bạn không chỉ định trường parents, thì tệp sẽ kế thừa mọi thư mục 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 phương thức copy có thể dẫn đến việc vượt quá hạn mức API Drive của bạn. Để biết thêm thông tin, hãy xem bài viết Giới hạn sử dụng.

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