Eseguire la migrazione dall'API Drive Activity v1

Questa guida illustra le differenze tra le versioni 1 e 2 dell'API Google Drive Activity v1 e come modificare l'applicazione v1 per supportare l'API v2.

Autorizzazione

L'API v1 ha utilizzato 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, a questi oggetti in genere viene fatto riferimento tramite nomi delle risorse. Per ulteriori informazioni, consulta la Guida alla progettazione delle API Cloud .

Questi identificatori possono generalmente essere convertiti. Ad esempio, per il riferimento agli elementi di Drive nell'API v2 viene utilizzato il nome della risorsa items/ITEM_ID_V1.

Richieste

Il formato della richiesta per la versione 2 è simile a quello per la versione 1. Nello specifico, puoi comunque richiedere attività per un file di Drive o un predecessore di Drive, ma tieni presente che devi formattare questi parametri della richiesta come nomi delle risorse anteponendo loro il prefisso items/.

Il "raggruppamento" ora si chiama Consolidamento e i parametri delle richieste source e userId sono stati rimossi.

Esistono anche nuove opzioni di filtro che ti consentono di limitare i tipi di dati relativi alle 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 contiene il valore move, le app presuppongono che un campo move di primo livello sia compilato con i valori principali aggiunti e rimossi.

Nell'API v2, questi campi non sono più distinti. Per il messaggio ActionDetail è stato impostato un solo campo. Indica il tipo di azione e contiene i dettagli associati. Ad esempio, un ActionDetail che rappresenta uno spostamento imposta solo il campo move, in cui sono elencati i principali aggiunti e rimossi.

Il campo primaryEventType dell'API v1 corrisponde approssimativamente alla versione primaryActionDetail v2.

Actors

Nell'API v1, l'attività restituita conteneva un User se l'attore era un utente noto e, facoltativamente, conteneva un campo di primo livello come fromUserDeletion per i casi speciali.

Nell'API v2 è disponibile un set più completo di tipi Actor e il valore user.knownUser viene completato quando l'attore è un utente noto. Se la tua applicazione ha bisogno di informazioni dettagliate sugli utenti, può eseguire query dall'API People passando il campo KnownUser personName al metodo people.get.

Target

Nell'API v1, le destinazioni erano sempre elementi di Drive. Nell'API v2, i target possono essere altri tipi di oggetti in Drive. Ad esempio, le modifiche a un Drive hanno come target Drive. La cartella principale di un Drive condiviso viene comunque restituita (come DriveItem nel campo root), ma non è la destinazione immediata 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 è cambiato quando è stata impostata una strategia di consolidamento ("raggruppamento"). In particolare, quando il consolidamento era attivo, ogni attività conteneva il componente singleEvents e un elemento combinedEvent che riepilogava l'attività comune tra questi eventi. Quando il consolidamento è stato disattivato, il campo combinedEvent conteneva l'evento originale non consolidato per ogni attività. Ognuno di questi eventi può rappresentare più azione, ad esempio una creazione insieme a una condivisione.

Nell'API v2, lo stile della risposta non cambia in base alla strategia di consolidamento, in quanto l'elemento DriveActivity restituito contiene sempre l'insieme completo di attori, target e azioni.