Migracja z interfejsu Drive Activity API w wersji 1

Ten przewodnik wyjaśnia różnice między interfejsem Google Drive Activity API w wersji 1 i 2 oraz jak zmienić aplikację w wersji 1, aby obsługiwała interfejs API w wersji 2.

Autoryzacja

Interfejs API w wersji 1 używał tego zakresu:

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

Interfejs API w wersji 2 wymaga jednego z tych zakresów:

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

Nazwy zasobów

W interfejsie API w wersji 1 identyfikatory obiektów, takich jak elementy i użytkownicy Dysku Google, były niewidocznymi ciągami znaków. W interfejsie API w wersji 2 te obiekty są zwykle wskazywane za pomocą nazw zasobów. Więcej informacji znajdziesz w przewodniku po projektowaniu interfejsów Cloud API.

Zwykle można je przekształcić. Na przykład elementy Dysku w interfejsie API w wersji 2 są odwoływane za pomocą nazwy zasobu items/ITEM_ID_V1.

Żądania

Format żądania w wersji 2 jest podobny do formatu w wersji 1. W szczególności nadal możesz żądać aktywności dotyczącej pliku na Dysku lub pliku nadrzędnego na Dysku, ale musisz sformatować te parametry żądania jako nazwy zasobów, dodając do nich prefiks items/.

„Grupowanie” zmieniło nazwę na Konsolidacja, a parametry zapytania sourceuserId zostały usunięte.

Dostępne są też nowe opcje Filtr, które umożliwiają ograniczenie typów danych o aktywności zwracanych w odpowiedzi.

Działania

W interfejsie API w wersji 1 typ aktywności i dane powiązane z tą aktywnością znajdowały się w oddzielnych polach. Jeśli na przykład pole primaryEventType zawiera wartość move, aplikacje zakładają, że pole move najwyższego poziomu jest wypełnione dodanymi i usuniętymi rodzicami.

W interfejsie API w wersji 2 te pola nie są już odrębne. Wiadomość ActionDetail ma dokładnie 1 ustawione pole. Określa on typ działania i zawiera szczegóły powiązane z tym działaniem. Na przykład ActionDetail reprezentujący przeniesienie ustawia tylko pole move, które zawiera listę dodanych i usuniętych elementów nadrzędnych.

Pole primaryEventType interfejsu API w wersji 1 odpowiada mniej więcej polu primaryActionDetail w wersji 2.

Actors

W interfejsie API w wersji 1 zwracana aktywność zawierała wartość User, jeśli podmiot był znanym użytkownikiem, oraz opcjonalnie pole najwyższego poziomu, takie jak fromUserDeletion w przypadkach specjalnych.

W interfejsie API v2 dostępny jest bogatszy zestaw typów Actor, a pole user.knownUser jest wypełniane, gdy aktor to znany użytkownik. Jeśli Twoja aplikacja potrzebuje szczegółowych informacji o użytkownikach, może je pobrać z interfejsu People API, przekazując do metody people.get pole KnownUser (personName).

Cele

W interfejsie API w wersji 1 zawsze były to elementy w Drive. W interfejsie API w wersji 2 docelowymi obiektami mogą być inne typy obiektów na Dysku. Na przykład zmiany w drive mają typ docelowy Drive. Folder główny dysku współdzielonego jest nadal zwracany (jako DriveItem w polu root), ale nie jest bezpośrednim celem aktywności. Podobna koncepcja dotyczy zasobu FileComment, którego pole parent odnosi się do elementu na Dysku zawierającego docelowy wątek komentarzy.

Aktywność skonsolidowana

W interfejsie API w wersji 1 styl odpowiedzi zmieniał się po ustawieniu strategii konsolidacji („zbiorczości”). Gdy konsolidacja była włączona, każda aktywność zawierała element singleEvents oraz element combinedEvent, który podsumowywał wspólną aktywność tych zdarzeń. Gdy konsolidacja była wyłączona, pole combinedEvent zawierało pierwotne, niezbiorczone wydarzenie dla każdej aktywności. Każde z tych zdarzeń może reprezentować więcej niż 1 działanie, np. utworzenie i udostępnienie.

W interfejsie API w wersji 2 styl odpowiedzi nie zmienia się w zależności od strategii konsolidacji, ponieważ zwracany element DriveActivity zawiera zawsze pełny zestaw wykonawców, celów i działań.