Configura OAuth per la tua applicazione

Per configurare OAuth per la tua applicazione, devi impostare un flusso di lavoro OAuth e attivare gli ambiti OAuth dell'API Data Portability.

Configurare un flusso di lavoro OAuth

Per configurare un flusso OAuth per la tua applicazione, segui i passaggi di base descritti nella documentazione di Google Identity.

La maggior parte degli sviluppatori utilizza il flusso App web lato server per ottenere il consenso OAuth, ma puoi anche utilizzare il flusso App web JavaScript o il flusso App mobile e desktop.

Le esportazioni possono richiedere più tempo della durata di un token di accesso oppure l'utente può concedere l'accesso per 30 o 180 giorni. Potresti dover ottenere un token di aggiornamento e scambiarlo periodicamente con un nuovo token di accesso. Per maggiori dettagli, consulta Aggiornare un token di accesso per le app web e Aggiornare un token di accesso per le app mobile e desktop.

Importante: il rinnovo del token OAuth è disponibile per gli utenti solo se il client OAuth ha uno stato di pubblicazione In produzione, non Test. Inoltre, i token concessi ai client OAuth con stato di pubblicazione Test scadono sempre dopo 7 giorni anche se selezioni una durata di 30 o 180 giorni. Per maggiori dettagli, consulta la sezione Configurare la schermata per il consenso OAuth.

Ambiti OAuth dell'API Data Portability

Quando configuri l'applicazione API Data Portability per OAuth, abilita gli ambiti OAuth dell'API Data Portability pertinenti per la tua applicazione. Alcuni ambiti sono sensitive e restricted e sono soggetti a requisiti aggiuntivi.

Quando aggiungi gli ambiti dell'API Data Portability al flusso OAuth, possono verificarsi casi in cui l'utente dà il consenso ad alcuni ambiti, ma non a tutti. L'app deve essere in grado di gestire questi casi:

  • Consentire esportazioni di dati parziali
  • Notifica all'utente che non ha selezionato tutti gli ambiti necessari (e fallimento elegante)
  • Chiedere all'utente i restanti consensi

Inoltre, un utente sceglie se concederti l'accesso ai suoi dati una sola volta o per 30 o 180 giorni.

  • Se un utente ti concede l'accesso una tantum, la tua app può eseguire una esportazione di dati per quel consenso specifico. Per scaricare di nuovo i dati, devi ottenere un nuovo consenso dall'utente.
  • Se un utente ti concede l'accesso in base al tempo, la tua app è autorizzata a eseguire esportazione di dati per la durata del periodo di tempo specificato o fino a quando l'utente non revoca il consenso.
  • Puoi anche scegliere di applicare filtri temporali alla tua richiesta per esportare i dati per un intervallo di tempo specifico, ad esempio gli ultimi 6 mesi.

Tieni inoltre presente che durante il flusso OAuth la tua app non sa quale Account Google è stato utilizzato per dare il consenso. Il token OAuth ricevuto dalla tua applicazione è opaco.

Se cerchi informazioni su come gli utenti condividono i dati, consulta l'articolo Condividere una copia degli tuoi dati con una terza parte.

Limitazioni degli ambiti

Questa sezione illustra le limitazioni degli ambiti che generano errori.

Ambiti misti

Le richieste per gli ambiti dell'API di portabilità dei dati (ad esempio, https://www.googleapis.com/auth/dataportability.*) non possono essere combinate con altri ambiti (ad esempio, https://www.googleapis.com/auth/userinfo.email). Ecco un esempio di richiesta non valida, con la parte limitata in grassetto:

https://accounts.google.com/o/oauth2/v2/auth?
client_id=client_id&
redirect_uri=redirect_uri&
response_type=token&
scope=https://www.googleapis.com/auth/dataportability.myactivity.search+https://www.googleapis.com/auth/userinfo.email&
include_granted_scopes=false

Ambiti concessi in precedenza

Non devi mai impostare include_granted_scopes=true quando richiedi gli ambiti DPAPI. Ecco un esempio di richiesta non valida, con la parte con limitazioni in grassetto:

https://accounts.google.com/o/oauth2/v2/auth?
client_id=client_id&
redirect_uri=redirect_uri&
response_type=token&
scope=https://www.googleapis.com/auth/dataportability.myactivity.search&
include_granted_scopes=true

Troppi ambiti

Se alla richiesta sono stati aggiunti troppi ambiti, potresti riscontrare un 400 bad request errore. Questo accade quando la lunghezza dell'URL supera quanto supportato dai browser. Per risolvere il problema, suddividi le richieste di ambiti in più batch più piccoli e utilizza l'autorizzazione incrementale per richiedere il consenso per ogni batch.

Categorie di ambiti

Per l'elenco di tutti gli ambiti OAuth supportati dall'API Data Portability e le relative categorie, vedi Ambiti OAuth disponibili. Per un elenco di tutti i gruppi di risorse e gli ambiti OAuth supportati da un determinato servizio, consulta la pagina di riferimento dello schema del servizio in questione.