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à phiên bản 3. Hiệu suất trong phiên bản 3 tốt hơn vì thì 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 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 chuyển sang phiên bản 3. Để di chuyển, hãy xem phần Di chuyển sang API Drive phiên bản 3. Để xem danh sách đầy đủ các điểm khác biệt về phiên bản, hãy xem so sánh Drive API phiên bản 2 và phiên bản 3 tham khảo.

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

Để tìm hiểu thêm về những điểm cải tiến của API Drive phiên bản 3, bạn có thể xem sau video 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 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 điểm cải tiến so với phiên bản API trước đó:

  • Theo mặc định, các thao tác tìm kiếm tệp và bộ nhớ dùng chung không trả về toàn bộ tài nguyên, chỉ có một nhóm nhỏ các trường thường dùng được trả về. Để biết thêm chi tiết về fields, 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 fields . Để biết 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.
  • Những 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 chức năng tương tự như Bộ sưu tập ChildrenParents nên chúng 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 v2, bạn có thể đặt drive.appdata và trả về dữ liệu ứng dụng qua files.listchanges.list nhưng sẽ làm chậm hiệu suất. Trong phiên bản 3, bạn đặt phạm vi drive.appdata, và cũng đặ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 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 sẽ khác. Thay vì sử dụng mã thay đổi, hãy sử dụng mã thông báo trang mờ. Để thăm dò tập hợp thay đổi, trước tiên hãy gọi hàm changes.getStartPageToken cho giá trị ban đầu. Đối với các truy vấn tiếp theo, changes.list sẽ trả về giá trị newStartPageToken.
  • Hiện tại, phương thức cập nhật 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 v2 trong Tài nguyên about là danh sách định dạng nhập hoặc xuất được phép. Trong phiên bản 3, chúng là các bản đồ loại MIME của các mục tiêu có thể có cho tất cả hoạt động nhập hoặc xuất được hỗ trợ.
  • Bí danh v2 appdataappfolder hiện đã có appDataFolder trong v3.
  • Tài nguyên properties đã bị xoá khỏi phiên bản 3. Chiến lược phát hành đĩa đơn Tài nguyên files có trường properties chứa cặp khoá-giá trị đúng. Trường properties chứa dữ liệu công khai thuộc tính và trường appProperties chứa các thuộc tính riêng tư, do đó trường hiển thị là không cần thiết.
  • Trường modifiedTime trong tài nguyên files cập nhật lần gần đây nhất 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 đặt mimeType mục tiêu thích hợp trong phần nội dung tài nguyên. Trong phiên bản 2, bạn đã đặt ?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.
  • Bí danh me cho các quyền đã bị xoá.
  • Một số chức năng đã có trong tài nguyên yêu cầu nhưng nay 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ể 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 trên thành phần con bằng ?removeParents=parent_id trong URL.

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

Tên trường và thông 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 nhóm kết quả. Chiến lược phát hành đĩa đơn 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).