Questa guida illustra le differenze tra le API Google Drive Activity v1 e v2 e spiega come modificare l'applicazione v1 in modo che supporti l'API v2.
Autorizzazione
L'API v1 utilizzava questo ambito:
https://www.googleapis.com/auth/activity
L'API v2 richiede uno dei seguenti ambiti:
https://www.googleapis.com/auth/drive.activity
https://www.googleapis.com/auth/drive.activity.readonly
Nomi delle risorse
Nell'API v1, gli identificatori di oggetti come gli elementi e gli utenti di Google Drive erano stringhe opache. Nell'API v2, in genere a questi oggetti viene fatto riferimento utilizzando i nomi delle risorse. Per ulteriori informazioni, consulta la Guida alla progettazione delle API Cloud.
In genere, questi identificatori possono essere convertiti. Ad esempio, agli elementi di Drive nell'API v2 viene fatto riferimento utilizzando il nome della risorsaitems/ITEM_ID_V1
.
Richieste
Il formato della richiesta per la versione 2 è simile a quello della versione 1. Nello specifico, puoi comunque richiedere attività per un file di Drive o un antecessore di Drive, ma tieni presente che devi formattare questi parametri di richiesta come nomi di risorse anteponendo il prefisso items/
.
"Raggruppamento" ora si chiama
Raggruppamento e i parametri di richiesta source
e
userId
sono stati rimossi.
Sono disponibili anche nuove opzioni di filtro che consentono di limitare i tipi di dati sulle attività restituiti nella risposta.
Azioni
Nell'API v1, il tipo di attività e i dati associati a quell'attività erano in campi separati. Ad esempio, se il campo primaryEventType
conteneva il valore move
, le app presumevano che un campo move
di primo livello fosse compilato con i gruppi di elementi principali aggiunti e rimossi.
Nell'API v2, questi campi non sono più distinti. Il messaggio ActionDetail
ha esattamente un campo impostato. Indica il tipo di azione e contiene i dettagli associati a quell'azione. Ad esempio, un ActionDetail
che rappresenta un trasferimento imposta solo il campo move
, che elenca i gruppi di elementi principali aggiunti e rimossi.
Il campo primaryEventType
dell'API v1 corrisponde approssimativamente a primaryActionDetail
della v2.
Actors
Nell'API v1, l'attività restituita conteneva un User
se l'attore era un
utente noto e, facoltativamente, un campo di primo livello come fromUserDeletion
per
casi speciali.
Nell'API v2 è disponibile un insieme più ampio di tipi di Actor
e user.knownUser
viene compilato quando l'attore è un utente noto. Se la tua applicazione ha bisogno di informazioni dettagliate sugli utenti, può eseguire una query dall'API People passando il campo KnownUser
personName
al metodo people.get
.
Destinazioni
Nell'API v1, i target erano sempre elementi di Drive. Nell'API v2,
i target possono essere altri tipi di oggetti in Drive. Ad esempio,
le modifiche a un'unità hanno un tipo di destinazione di
Drive
. La cartella principale
di un Drive condiviso viene comunque restituita (come
DriveItem
nel
campo root
), ma non è il bersaglio immediato dell'attività. Un concetto simile si applica a una risorsa FileComment
, il cui campo parent
fa riferimento all'elemento di Drive contenente il thread di commenti di destinazione.
Attività consolidata
Nell'API v1, lo stile della risposta cambiava quando veniva impostata una strategia di consolidamento ("raggruppamento"). Nello specifico, quando il consolidamento era attivo, ogni attività conteneva il singleEvents
costituente e un combinedEvent
che riassumeva l'attività comune tra questi eventi costituenti. Quando il consolidamento era disattivato, il campo combinedEvent
conteneva l'evento non consolidato originale per ogni attività. Qualsiasi di questi eventi potrebbe rappresentare più di un'azione, ad esempio una creazione insieme a una condivisione.
Nell'API v2, lo stile di risposta non cambia in base alla strategia di consolidamento, poiché il valore DriveActivity
restituito contiene sempre l'insieme completo di attori, target e azioni.