Google Drive API hỗ trợ một số loại thao tác tải xuống và xuất, như được liệt kê trong bảng sau:
Thao tác tải xuống |
|
||||
Thao tác xuất |
|
Trước khi tải xuống hoặc xuất nội dung tệp, hãy xác minh rằng người dùng có thể tải tệp xuống bằng cách sử dụng trường capabilities.canDownload
trên tài nguyên files
.
Để biết nội dung mô tả về các loại tệp được đề cập ở đây, bao gồm cả tệp blob và tệp Google Workspace, hãy xem phần Các loại tệp.
Phần còn lại của hướng dẫn này cung cấp hướng dẫn chi tiết về cách thực hiện các loại hành động tải xuống và xuất này.
Tải nội dung tệp blob xuống
Để tải một tệp blob được lưu trữ trên Drive xuống, hãy dùng phương thức files.get
cùng với mã nhận dạng của tệp cần tải xuống và tham số URL alt=media
. Tham số URL alt=media
cho máy chủ biết rằng một yêu cầu tải nội dung xuống đang được gửi dưới dạng định dạng phản hồi thay thế.
Tham số URL alt=media
là một tham số hệ thống có sẵn trên tất cả các API REST của Google. Nếu sử dụng một thư viện ứng dụng cho Drive API, bạn không cần phải đặt rõ ràng tham số này.
Đoạn mã mẫu sau đây cho biết cách sử dụng phương thức files.get
để tải một tệp xuống bằng thư viện ứng dụng Drive API.
Java
Python
Node.js
PHP
.NET
Mã mẫu này sử dụng một phương thức thư viện giúp thêm tham số URL alt=media
vào yêu cầu HTTP cơ bản.
Bạn phải uỷ quyền cho các tệp tải xuống bắt đầu từ ứng dụng của mình bằng một phạm vi cho phép quyền đọc nội dung tệp. Ví dụ: một ứng dụng sử dụng phạm vi drive.readonly.metadata
không được phép tải nội dung tệp xuống.
Mẫu mã này sử dụng phạm vi tệp "drive" bị hạn chế, cho phép người dùng xem và quản lý tất cả tệp của bạn trên Drive. Để tìm hiểu thêm về các phạm vi của Drive, hãy tham khảo bài viết Chọn các phạm vi của API Google Drive.
Người dùng có quyền owner
(đối với tệp trong Drive của tôi) hoặc quyền organizer
(đối với tệp trong bộ nhớ dùng chung) có thể hạn chế việc tải xuống thông qua đối tượng DownloadRestrictionsMetadata
. Để 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.
Chỉ chủ sở hữu tệp mới có thể tải những tệp bị xác định là có hành vi sai trái (chẳng hạn như phần mềm độc hại) xuống.
Ngoài ra, bạn phải thêm tham số truy vấn get
acknowledgeAbuse=true
để cho biết rằng người dùng đã xác nhận rủi ro khi tải phần mềm có thể không mong muốn hoặc các tệp có hành vi sai trái khác xuống. Ứng dụng của bạn phải tương tác để cảnh báo người dùng trước khi sử dụng tham số truy vấn này.
Tải xuống một phần
Tải xuống một phần là chỉ tải xuống một phần cụ thể của tệp. Bạn có thể chỉ định phần tệp mà bạn muốn tải xuống bằng cách sử dụng phạm vi byte với tiêu đề Range
. Ví dụ:
Range: bytes=500-999
Tải nội dung tệp blob xuống ở phiên bản cũ hơn
Bạn chỉ có thể tải các bản sửa đổi nội dung tệp blob được đánh dấu là "Giữ vĩnh viễn" xuống. Nếu bạn muốn tải một bản sửa đổi xuống, trước tiên hãy đặt bản sửa đổi đó thành "Giữ vĩnh viễn". Để biết thêm thông tin, hãy xem phần Chỉ định phiên bản cần lưu để không bị xoá tự động.
Để tải nội dung của tệp blob xuống ở phiên bản trước, hãy sử dụng phương thức revisions.get
cùng với mã nhận dạng của tệp cần tải xuống, mã nhận dạng của bản sửa đổi và tham số URL alt=media
. Tham số URL alt=media
cho máy chủ biết rằng một yêu cầu tải nội dung xuống đang được gửi dưới dạng một định dạng phản hồi thay thế. Tương tự như files.get
, phương thức revisions.get
cũng chấp nhận tham số truy vấn không bắt buộc acknowledgeAbuse
và tiêu đề Range
. Để biết thêm thông tin, hãy xem bài viết Quản lý các thao tác diễn ra trong thời gian dài.
Giao thức yêu cầu được minh hoạ tại đây.
GET https://www.googleapis.com/drive/v3/files/{FILE_ID
}/revisions/{REVISION_ID
}?alt=media
Tải nội dung tệp blob xuống trong trình duyệt
Để tải nội dung của các tệp blob được lưu trữ trên Drive xuống trong một trình duyệt thay vì thông qua API, hãy sử dụng trường webContentLink
của tài nguyên files
. Nếu người dùng có quyền tải tệp xuống, thì một đường liên kết để tải tệp và nội dung của tệp xuống sẽ được trả về. Bạn có thể chuyển hướng người dùng đến URL này hoặc cung cấp URL này dưới dạng một đường liên kết có thể nhấp vào.
Tải nội dung tệp blob xuống trong các thao tác diễn ra trong thời gian dài
Để tải nội dung của tệp blob xuống trong các thao tác diễn ra trong thời gian dài, hãy sử dụng phương thức files.download
cùng với mã nhận dạng của tệp cần tải xuống. Bạn có thể tuỳ ý đặt mã nhận dạng của bản sửa đổi. Đây là cách duy nhất để tải tệp Google Vids xuống. Để biết thêm thông tin, hãy xem bài viết Quản lý các thao tác diễn ra trong thời gian dài.
Xuất nội dung tài liệu trên Google Workspace
Để xuất nội dung byte của tài liệu trên Google Workspace, hãy sử dụng phương thức files.export
cùng với mã nhận dạng của tệp cần xuất và loại MIME chính xác. Nội dung xuất ra bị giới hạn ở mức 10 MB.
Đoạn mã mẫu sau đây cho biết cách sử dụng phương thức files.export
để xuất một tài liệu trên Google Workspace ở định dạng PDF bằng cách sử dụng thư viện ứng dụng Drive API:
Java
Python
Node.js
PHP
.NET
Mẫu mã này sử dụng phạm vi drive
bị hạn chế, cho phép người dùng xem và quản lý tất cả tệp của bạn trên Drive. Để tìm hiểu thêm về các phạm vi của Drive, hãy tham khảo bài viết Chọn các phạm vi của API Google Drive.
Mã mẫu cũng khai báo loại MIME xuất là application/pdf
. Để xem danh sách đầy đủ tất cả các loại MIME xuất được hỗ trợ cho từng tài liệu trên Google Workspace, hãy tham khảo bài viết Các loại MIME xuất cho tài liệu trên Google Workspace.
Xuất nội dung tài liệu trên Google Workspace trong trình duyệt
Để xuất nội dung tài liệu trên Google Workspace trong trình duyệt, hãy sử dụng trường exportLinks
của tài nguyên files
. Tuỳ thuộc vào loại tài liệu, một đường liên kết để tải tệp và nội dung của tệp xuống sẽ được trả về cho mọi loại MIME có sẵn.
Bạn có thể chuyển hướng người dùng đến một URL hoặc cung cấp URL đó dưới dạng một đường liên kết có thể nhấp.
Xuất nội dung tài liệu trên Google Workspace ở phiên bản cũ hơn trong trình duyệt
Để xuất nội dung tài liệu trên Google Workspace ở phiên bản cũ hơn trong trình duyệt, hãy sử dụng phương thức revisions.get
cùng với mã nhận dạng của tệp cần tải xuống và mã nhận dạng của bản sửa đổi để tạo đường liên kết xuất mà bạn có thể tải xuống. Nếu người dùng có quyền tải tệp xuống, thì một đường liên kết để tải tệp và nội dung của tệp xuống sẽ được trả về. Bạn có thể chuyển hướng người dùng đến URL này hoặc cung cấp URL này dưới dạng một đường liên kết có thể nhấp vào.
Xuất nội dung tài liệu trên Google Workspace trong các thao tác kéo dài
Để xuất nội dung tài liệu trên Google Workspace trong các thao tác diễn ra trong thời gian dài, hãy sử dụng phương thức files.download
cùng với mã nhận dạng của tệp cần tải xuống và mã nhận dạng của bản sửa đổi. Để biết thêm thông tin, hãy xem bài viết Quản lý các thao tác diễn ra trong thời gian dài.