Di chuyển từ API Hoạt động Drive 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 Google Drive v1 và v2, cũng như cách thay đổi ứng dụng v1 của bạn để hỗ trợ API v2.

Ủy quyền

API v1 đã sử dụng phạm vi này:

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

API v2 yêu cầu một trong những 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 v1, giá trị nhận dạng cho các đối tượng như mục trong 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 cách sử dụ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 phiên bản 2 đượ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 v2 tương tự như định dạng của v1. 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 trên Drive, mặc dù 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 items/ vào trước chúng.

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

Ngoài ra, bạn cũng có các tuỳ chọn 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 phiên bản 1, 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 cùng với cha mẹ đã thêm và đã xoá.

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

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

Diễn viên

Trong API v1, hoạt động được trả về chứa một User nếu đối tượng là 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 v2, bạn có thể sử dụng một tập hợp các loại Actor phong phú hơn và user.knownUser được điền sẵn khi diễn viên là một 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 People bằng cách chuyển trường KnownUser personName đến phương thức people.get.

Mục tiêu

Trong API v1, các 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 một ổ đĩ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. Một khái niệm tương tự áp dụng cho tài nguyên FileComment có trường parent đề cập đến mục trên Drive chứa luồng 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 chiến lược hợp nhất ("nhóm") được đặt. Cụ thể, khi tính năng hợp nhất được bật, mỗi hoạt động sẽ bao gồm thành phần singleEventscombinedEvent tóm tắt hoạt động chung trong số các sự kiện đó. Khi bạn tắt tính năng hợp nhất, trường combinedEvent chứa sự kiện chưa tổng hợp ban đầu cho mỗi hoạt động. Bất kỳ sự kiện nào trong số này đều có thể đại diện cho nhiều hành động, chẳng hạn như một hành động tạo và chia sẻ.

Trong API phiên bản 2, 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 tác nhân, mục tiêu và hành động.