Hướng dẫn so sánh API Drive phiên bản 2 và phiên bản 3

Phiên bản API Google Drive mới nhất là v3. 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 tập hợp con các trường. Sử dụng phiên bản hiện tại, trừ phi bạn cần tập hợp v2. Nếu bạn đang sử dụng v2, hãy cân nhắc chuyển sang v3. Để di chuyển, hãy xem nội dung Di chuyển sang API Drive phiên bản 3. Để biết danh sách đầy đủ các khác biệt về phiên bản, hãy xem Tài liệu tham khảo so sánh API Drive v2 và v3.

Nếu bạn muốn tiếp tục sử dụng v2, hãy xem bản sửa đổi Hướng dẫn về API Drive phiên bản 2 để tìm hiểu cách sửa đổi một số hướng dẫn trong hướng dẫn v3 cho nhà phát triển v2.

Để tìm hiểu thêm về những điểm cải tiến cho API Drive phiên bản 3, bạn có thể xem video sau đây của các kỹ sư của Google, trong đó thảo luận về thiết kế API mới.

Cải tiến phiên bản 3

Để tối ưu hoá hiệu suất và giảm độ phức tạp của hành vi API, v3 cung cấp những cải tiến sau so với phiên bản API trước:

  • Theo mặc định, các lượt tìm kiếm tệp và bộ nhớ dùng chung không trả về toàn bộ tài nguyên mà chỉ trả về một số trường thường dùng. Để biết thêm thông tin chi tiết về fields, hãy xem phương thức files.list và phương thức drives.list.
  • Hiện tại, hầu hết các phương thức trả về phản hồi đều yêu cầu tham số fields. Để biết danh sách tất cả phương thức yêu cầu fields, hãy xem Tài liệu tham khảo API Drive.
  • Những tài nguyên có khả năng trùng lặp đã bị xoá. Một số ví dụ:
    • Phương thức files.list có chức năng giống như các bộ sưu tập ChildrenParents, vì vậy phương thức này sẽ bị xoá khỏi phiên bản 3.
    • Xoá các phương thức Realtime.*.
  • 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.appdata và phạm vi này sẽ trả về dữ liệu ứng dụng từ phương thức files.list và phương thức changes.list, nhưng chế độ này làm chậm hiệu suất. Trong phiên bản 3, bạn đặt phạm vi drive.appdata, đồng thời đặt tham số truy vấn spaces=appDataFolder để yêu cầu dữ liệu ứng dụng.
  • Mọi 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.list là khác. Thay vì mã thay đổi, hãy sử dụng mã thông báo trang mờ. Để thăm dò bộ sưu tập thay đổi, trước tiên, hãy gọi phương thức changes.getStartPageToken cho giá trị ban đầu. Đối với các truy vấn tiếp theo, phương thức changes.list sẽ trả về giá trị newStartPageToken.
  • Các phương thức cập nhật hiện sẽ từ chối các yêu cầu chỉ định các trường không thể ghi.
  • Các trường exportFormatsimportFormats của phiên bản 2 trong tài nguyên about là danh sách các định dạng nhập hoặc xuất được phép. Trong phiên bản 3, các tệp này là các bản đồ kiểu MIME của các mục tiêu có thể có đối với tất cả các lệnh nhập hoặc xuất được hỗ trợ.
  • Các bí danh appdataappfolder của phiên bản 2 hiện là appDataFolder trong phiên bản 3.
  • Tài nguyên properties bị xoá khỏi phiên bản 3. Tài nguyên files có trường properties chứa các cặp khoá-giá trị thực sự. Trường properties chứa các thuộc tính công khai, còn trường appProperties chứa các thuộc tính riêng tư, nên bạn không cần trường chế độ hiển thị.
  • Trường modifiedTime trong tài nguyên files cập nhật lần gần đây nhất có bất kỳ ai sửa đổi tệp. Trong phiên bản 2, trường modifiedDate chỉ có thể thay đổi khi cập nhật nếu bạn đặt trường setModifiedDate.
  • Trường viewedByMeTime trong tài nguyên files không tự động cập nhật.
  • Để nhập các định dạng Google Tài liệu, bạn cần đặt mục tiêu thích hợp mimeType trong nội dung tài nguyên. Ở phiên bản 2, bạn thiết lập ?convert=true.
  • 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 các quyền.
  • Đã xoá bí danh của me cho các quyền.
  • Một số chức năng có sẵn như một phần của tài nguyên yêu cầu nhưng lại có sẵn dưới dạng tham số yêu cầu. Ví dụ:
    • Trong phiên bản 2, bạn có thể sử dụng children.delete để xoá tệp con khỏi thư mục mẹ.
    • Trong phiên bản 3, bạn sử dụng files.update cho thành phần con có ?removeParents=parent_id trong URL.

Điểm khác biệt khác

Tên trường và tham số khác nhau trong phiên bản 3. Một số ví dụ bao gồm:

  • Thuộc tính name thay thế title trong tài nguyên files.
  • Time là hậu tố cho tất cả các trường ngày và giờ thay vì Date.
  • Thao tác danh sách không sử dụng trường items để chứa tập hợ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ư files hoặc changes).