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 source
và userId
đã 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.