Eseguire la migrazione dall'API Drive Activity v1

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.