Phiên bản mới nhất của Google Drive API là phiên bản 3. Hiệu suất trong phiên bản 3 tốt hơn vì các lượt tìm kiếm chỉ trả về một nhóm nhỏ các trường. Sử dụng phiên bản hiện tại trừ phi bạn cần bộ sưu tập v2. Nếu bạn đang sử dụng phiên bản 2, hãy cân nhắc việc di chuyển sang phiên bản 3. Để di chuyển, hãy xem phần Di chuyển sang Drive API phiên bản 3. Để xem danh sách đầy đủ về điểm khác biệt giữa các phiên bản, hãy xem tài liệu tham khảo so sánh Drive API phiên bản 2 và 3.
Nếu bạn muốn tiếp tục sử dụng phiên bản 2, hãy xem nội dung sửa đổi Hướng dẫn về Drive API phiên bản 2 để tìm hiểu cách một số hướng dẫn trong hướng dẫn về phiên bản 3 phải được sửa đổi cho nhà phát triển phiên bản 2.
Để tìm hiểu thêm về những điểm cải tiến của Drive API phiên bản 3, bạn có thể xem video sau đây của các kỹ sư Google thảo luận về thiết kế API mới.
Các điểm cải tiến của V3
Để tối ưu hoá hiệu suất và giảm độ phức tạp của hành vi API, phiên bản 3 cung cấp những điểm cải tiến sau so với phiên bản API trước:
- Theo mặc định, các cụm từ tìm kiếm tệp và bộ nhớ dùng chung sẽ không trả về toàn bộ tài nguyên, mà chỉ trả về một nhóm nhỏ các trường thường dùng. Để biết thêm thông tin chi tiết về
fields, hãy xem phương thứcfiles.listvà phương thứcdrives.list. - Hầu hết các phương thức trả về phản hồi hiện đều yêu cầu tham số
fields. Để xem danh sách tất cả các phương thức yêu cầufields, hãy xem tài liệu tham khảo về Drive API. - Các tài nguyên có chức năng trùng lặp đã bị xoá. Một số ví dụ:
- Phương thức
files.listthực hiện cùng chức năng với các tập hợpChildrenvàParents, nên chúng sẽ bị xoá khỏi phiên bản 3. - Các phương thức
Realtime.*đã bị xoá.
- Phương thức
- Theo mặc định, Dữ liệu ứng dụng không được trả về trong các lượt tìm kiếm. Trong phiên bản 2, bạn có thể đặt phạm vi
drive.appdatavà phạm vi này sẽ trả về dữ liệu ứng dụng từ phương thứcfiles.listvà phương thứcchanges.list, nhưng điều này sẽ làm giảm hiệu suất. Trong phiên bản 3, bạn đặt phạm vidrive.appdata, đồng thời đặt tham số truy vấnspaces=appDataFolderđể yêu cầu dữ liệu ứng dụng. - Tất cả các thao tác cập nhật đều sử dụng PATCH thay vì PUT.
- Để xuất Google Tài liệu, hãy sử dụng phương thức
files.export. - Hành vi của phương thức
changes.listsẽ khác. Thay vì mã nhận dạng thay đổi, hãy sử dụng mã thông báo trang không công khai. Để thăm dò tập hợp thay đổi, trước tiên, hãy gọi phương thứcchanges.getStartPageTokencho giá trị ban đầu. Đối với các truy vấn tiếp theo, phương thứcchanges.listsẽ trả về giá trịnewStartPageToken. - Giờ đây, các phương thức cập nhật sẽ từ chối những yêu cầu chỉ định các trường không thể ghi.
- Các trường
exportFormatsvàimportFormatsphiên bản 2 trong tài nguyênaboutlà danh sách các định dạng nhập hoặc xuất được phép. Trong phiên bản 3, đây là các bản đồ loại MIME của các mục tiêu có thể có đối với tất cả các hoạt động nhập hoặc xuất được hỗ trợ. - Các bí danh
appdatavàappfoldercủa phiên bản 2 hiện làappDataFoldertrong phiên bản 3. - Tài nguyên
propertiessẽ bị xoá khỏi phiên bản 3. Tài nguyênfilescó trườngpropertieschứa các cặp khoá-giá trị thực. Trườngpropertieschứa các thuộc tính công khai và trườngappPropertieschứa các thuộc tính riêng tư, vì vậy bạn không cần trường hiển thị. - Trường
modifiedTimetrong tài nguyênfilessẽ cập nhật thời điểm sửa đổi tệp gần đây nhất. Trong phiên bản 2, trườngmodifiedDatechỉ có thể thay đổi khi cập nhật nếu bạn đặt trườngsetModifiedDate. - Trường
viewedByMeTimetrong tài nguyênfileskhông tự động cập nhật. - Để nhập các định dạng của Google Tài liệu, bạn hãy đặt mục tiêu thích hợp
mimeTypetrong nội dung tài nguyên. Trong phiên bản 2, bạn đặt?convert=true. - Các thao tác nhập sẽ trả về lỗi 400 nếu định dạng không được hỗ trợ.
- Người đọc và người nhận xét không thể xem quyền.
- Bí danh
mecho các quyền sẽ bị xoá. - Một số chức năng có trong tài nguyên yêu cầu nhưng thay vào đó, lại có dưới dạng một tham số yêu cầu. Ví dụ:
- Trong phiên bản 2, bạn có thể dùng
children.deleteđể xoá một tệp con khỏi thư mục mẹ. - Trong phiên bản 3, bạn sử dụng
files.updatetrên trẻ em có?removeParents=parent_idtrong URL.
- Trong phiên bản 2, bạn có thể dùng
Những điểm khác biệt khác
Tên trường và tên tham số khác nhau trong phiên bản 3. Một số ví dụ bao gồm:
- Thuộc tính
namethay thếtitletrong tài nguyênfiles. Timelà hậu tố cho tất cả các trường ngày và giờ thay vìDate.- Các thao tác liệt kê không dùng trường
itemsđể chứa tập kết quả. Loại tài nguyên cung cấp một trường cho kết quả (chẳng hạn nhưfileshoặcchanges).