Di chuyển từ Drive Activity API phiên bản 1

Hướng dẫn này giải thích sự khác biệt giữa API Hoạt động trên Google Drive phiên bản 1 và phiên bản 2, cũng như cách thay đổi ứng dụng của bạn để hỗ trợ API phiên bản 2.

Ủy quyền

API phiên bản 1 sử dụng phạm vi này:

  • https://www.googleapis.com/auth/activity

API v2 yêu cầu một trong các phạm vi sau:

  • https://www.googleapis.com/auth/drive.activity
  • https://www.googleapis.com/auth/drive.activity.readonly

Tên tài nguyên

Trong API phiên bản 1, giá trị nhận dạng cho các đối tượng như các mục trên Google Drive và người dùng là các chuỗi mờ. Trong API phiên bản 2, các đối tượng này thường được tham chiếu bằng tên tài nguyên. Để biết thêm thông tin, hãy xem Hướng dẫn thiết kế Cloud API.

Các giá trị nhận dạng này thường có thể được chuyển đổi. Ví dụ: các mục trên Drive trong API v2 được tham chiếu bằng tên tài nguyên items/ITEM_ID_V1.

Yêu cầu

Định dạng yêu cầu cho phiên bản 2 tương tự như định dạng của phiên bản 1. Cụ thể, bạn vẫn có thể yêu cầu hoạt động cho tệp trên Drive hoặc đối tượng cấp trên trong Drive, mặc dù xin lưu ý rằng bạn phải định dạng các tham số yêu cầu đó dưới dạng tên tài nguyên bằng cách thêm tiền tố items/.

Tính năng "Grouping" (Nhóm) hiện được gọi là Consolidation (Hợp nhất), đồng thời các tham số yêu cầu sourceuserId đã bị xoá.

Ngoài ra, chúng tôi cũng cung cấp các tuỳ chọn Filter (Bộ lọc) mới cho phép bạn ràng buộc các loại dữ liệu hoạt động được trả về trong phản hồi.

Thao tác

Trong API v1, loại hoạt động và dữ liệu liên kết với hoạt động đó nằm trong các trường riêng biệt. Ví dụ: nếu trường primaryEventType chứa giá trị move, thì các ứng dụng sẽ giả định rằng trường move cấp cao nhất được điền sẵn phần tử mẹ đã thêm và bị xoá.

Trong API phiên bản 2, các trường này không còn khác biệt nữa. Thông báo ActionDetail có đúng một trường được đặt. Tệp này biểu thị loại thao tác và chứa thông tin chi tiết liên quan đến thao tác đó. Ví dụ: ActionDetail biểu thị thao tác di chuyển chỉ đặt trường move, còn trường đó liệt kê các phần tử mẹ đã được thêm và bị xoá.

Trường primaryEventType API v1 tương ứng với primaryActionDetail của v2.

Actors

Trong API v1, hoạt động được trả về chứa User nếu người thực hiện là một người dùng đã biết và có thể chứa một trường cấp cao nhất như fromUserDeletion cho các trường hợp đặc biệt.

Trong API phiên bản 2, có sẵn một tập hợp loại Actor phong phú hơn và user.knownUser được điền sẵn khi tác nhân là người dùng đã biết. Nếu cần thông tin chi tiết về người dùng, ứng dụng của bạn có thể truy vấn ứng dụng đó từ API Người bằng cách truyền trường KnownUser personName sang phương thức people.get.

Mục tiêu

Trong API phiên bản 1, mục tiêu luôn là các mục trên Drive. Trong API v2, mục tiêu có thể là các loại đối tượng khác trong Drive. Ví dụ: các thay đổi đối với ổ đĩa có loại mục tiêu là Drive. Thư mục gốc của bộ nhớ dùng chung vẫn được trả về (dưới dạng DriveItem trong trường root), nhưng đó không phải là mục tiêu ngay lập tức của hoạt động. Khái niệm tương tự áp dụng cho tài nguyên FileComment, trong đó trường parent tham chiếu đến mục trên Drive chứa chuỗi nhận xét mục tiêu.

Hoạt động tổng hợp

Trong API phiên bản 1, kiểu phản hồi đã thay đổi khi bạn đặt chiến lược hợp nhất ("nhóm"). Cụ thể, khi bật tính năng hợp nhất, mỗi hoạt động chứa singleEvents cấu thành và một combinedEvent tóm tắt hoạt động phổ biến giữa các sự kiện cấu thành đó. Khi tắt tính năng hợp nhất, trường combinedEvent sẽ chứa sự kiện hợp nhất ban đầu cho từng hoạt động. Bất kỳ sự kiện nào trong số này có thể đại diện cho nhiều hành động, chẳng hạn như tạo và chia sẻ.

Trong API v2, kiểu phản hồi không thay đổi dựa trên chiến lược hợp nhất, vì DriveActivity được trả về luôn chứa tập hợp đầy đủ các đối tượng, mục tiêu và thao tác.