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

Phiên bản mới nhất của API Google Drive 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 tập hợp con của các trường. Hãy 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 đang sử dụng phiên bản 2, hãy cân nhắc di chuyển sang phiên bản 3. Để di chuyển, hãy xem bài viết Di chuyển sang API Drive phiên bản 3. Để xem danh sách đầy đủ về sự khác biệt giữa các phiên bản, hãy xem tài liệu tham khảoso sánh API Drive phiên bản 2 và phiên bản 3.

Nếu bạn muốn tiếp tục sử dụng phiên bản 2, hãy xem bài viết Hướng dẫn sửa đổi 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 phiên bản 3 cho nhà phát triển phiên bản 2.

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

Những cải tiến của 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, phiên bản 3 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ề tài nguyên đầy đủ mà chỉ trả về một tập hợp con của 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ức files.list và phương thức drives.list.
  • Hầu hết các phương thức trả về phản hồi đều yêu cầu tham số fields. Để xem danh sách tất cả các phương thức yêu cầu fields, hãy xem Tài liệu tham khảo API Drive.
  • 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.list thực hiện cùng chức năng với bộ sưu tập ChildrenParents, vì vậy, các bộ sưu tập này bị xoá khỏi phiên bản 3.
    • Các phương thức Realtime.* đã bị xoá.
  • 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 điều này sẽ làm giả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.
  • Tất cả các thao tác cập nhật đều sử dụng PATCH thay vì PUT.
  • Để xuất Tài liệu Google, 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 nhau. Thay vì mã thay đổi, hãy sử dụng mã thông báo trang không công khai. Để thăm dò ý kiến bộ sưu tập thay đổi, trước tiên, hãy gọi changes.getStartPageToken phương thức 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 từ chối các yêu cầu chỉ định các trường không thể ghi.
  • Các trường exportFormatsimportFormats 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 trường này là bản đồ loại MIME của các mục tiêu có thể có đối với tất cả các lượt nhập hoặc xuất được hỗ trợ.
  • Các bí danh appdataappfolder 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. Trường properties chứa các thuộc tính công khai và trường appProperties chứ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 modifiedTime trong tài nguyên files cập nhật lần gần nhất có người 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 Tài liệu Google, bạn đặt mimeType mục tiêu thích hợp trong 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 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 me cho quyền bị xoá.
  • Một số chức năng có sẵn dưới dạng một phần của tài nguyên yêu cầu nhưng thay vào đó, 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á một tệp con khỏi thư mục mẹ.
    • Trong phiên bản 3, bạn sử dụng files.update trên tệp con có ?removeParents=parent_id trong URL.

Các điểm khác biệt khác

Các 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 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.
  • Các thao tác liệt kê 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).