L'accesso all'API Google Health viene fornito tramite Google Cloud. Per abilitare l'API e autorizzare un Account Google, ti servirà un progetto Google Cloud.
Che tu sia uno sviluppatore dell'API Fitbit esistente o un nuovo utente dell'API Google Health API, dovrai completare questo passaggio per poter effettuare chiamate all'API.
Creare un progetto e un client OAuth
Utilizza il pulsante Abilita l'API e ottieni un ID client OAuth 2.0 per abilitare l'API Google Health e ottenere un ID client OAuth 2.0:
- Se hai un progetto Google Cloud esistente che vuoi utilizzare per l'API Google Health, assicurati di aver eseguito l'accesso all'account amministratore per quel progetto. Quindi, seleziona il progetto esistente dall'elenco dei progetti disponibili dopo aver fatto clic sul pulsante. In caso contrario, crea un nuovo progetto.
- Seleziona Server web quando ti viene chiesto "Da dove stai chiamando?".
- Inserisci https://www.google.com come valore per URI di reindirizzamento autorizzati. È necessario un URI di reindirizzamento per ottenere un codice di autorizzazione utilizzando OAuth 2.0.
- Una volta completata la configurazione, copia i valori dell'ID client OAuth 2.0 e del client secret e scarica il file JSON delle credenziali sulla tua macchina locale.
Se vuoi configurare manualmente il tuo progetto Google Cloud o verificare la configurazione e recuperare di nuovo le credenziali:
- Abilita API Google Health nella pagina Abilitazione API.
- Ottieni un ID client OAuth 2.0 nella pagina Credenziali.
Per ulteriori informazioni sulla configurazione di OAuth 2.0 utilizzando la console Google, consulta Utilizzare OAuth 2.0 per accedere alle API di Google.
Aggiungere utenti di test
Per impostazione predefinita, i client OAuth appena creati sono in uno stato non verificato con un limite di 100 utenti sia per i test sia per la produzione. Per abilitare l'autorizzazione durante questo periodo, devi aggiungere manualmente l'indirizzo email di ogni utente all'elenco Utenti di test nella configurazione del progetto.
Aggiorna l'elenco degli utenti di test nella pagina Pubblico:
- In questa pagina, dovresti vedere "Stato della pubblicazione" impostato su Test e "Tipo di utente" impostato su Esterno.
- Nella sezione "Utenti di test", fai clic su + Aggiungi utenti. Inserisci l'indirizzo email di tutti gli utenti di test che devono essere autorizzati a concedere alla tua app l'autorizzazione ad accedere ai loro dati sulla salute.
- Fai clic su Salva.
Per supportare più di 100 utenti con l'API Google Health, è necessario completare una revisione della sicurezza di terze parti. Ulteriori informazioni sono disponibili nel Centro assistenza per la verifica delle app OAuth.
Aggiungere ambiti
Devi specificare gli ambiti che il tuo client è autorizzato a chiamare nella pagina Accesso ai dati:
- In questa pagina, fai clic su Aggiungi o rimuovi ambiti.
- Nella colonna API, cerca "API Google Health". Seleziona gli ambiti di cui hai bisogno per la tua applicazione.
- Dopo aver selezionato tutti gli ambiti di cui hai bisogno, fai clic su Aggiorna per tornare alla pagina Accesso ai dati.
- Fai clic su Salva.
Hai completato la configurazione dell'ID client e ora dovresti essere in grado di effettuare chiamate all'API Google Health.
Aggiornare gli ambiti
Puoi chiedere all'utente di autorizzare di nuovo la tua app impostando il parametro prompt su consenso nella richiesta di autenticazione. Quando è incluso prompt=consent, la schermata per il consenso viene visualizzata ogni volta che la tua app richiede l'autorizzazione degli ambiti di accesso, anche se tutti gli ambiti sono stati concessi in precedenza al tuo progetto API di Google.
Per aggiungere o modificare gli ambiti utilizzando il parametro prompt=consent:
Identifica l'elenco completo degli ambiti di cui ha bisogno la tua applicazione. Devi includere sia gli ambiti esistenti sia quelli nuovi che devi aggiungere.
Modifica il parametro scope nell'URL di autorizzazione in modo da includere l'elenco aggiornato dei valori degli ambiti separati da spazi.
Aggiungi
prompt=consentai parametri dell'URI di autenticazione. In questo modo, il server di autorizzazione chiede all'utente il consenso prima di restituire informazioni al client.L'esempio seguente mostra una richiesta GET HTTPS all'endpoint di autorizzazione OAuth 2.0 di Google che richiede più ambiti con
prompt=consentaggiunto:https://accounts.google.com/o/oauth2/v2/auth?client_id=client-id&redirect_uri=redirect-uri&response_type=code&access_type=offline&scope=https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly%20https://www.googleapis.com/auth/googlehealth.sleep.readonly&prompt=consent
Quando l'utente segue il link aggiornato, viene visualizzata una pagina per il consenso che elenca tutti gli ambiti richiesti. Dopo che l'utente fa clic su "Continua" o "Consenti", riceverai un nuovo codice di autorizzazione che può essere scambiato con token che coprono l'insieme completo di ambiti.
Includi
prompt=consentsolo quando necessario, ad esempio quando devi ottenere un nuovo token di aggiornamento o quando gli ambiti richiesti sono cambiati.
Librerie client OAuth2
L'elenco delle librerie client OAuth2 disponibili utilizzate per l'integrazione con i framework più diffusi è disponibile all'indirizzo Utilizzare OAuth 2.0 per accedere alle API di Google.
Token di aggiornamento
Per mantenere l'accesso a lungo termine alle API di Google senza richiedere la riautenticazione costante dell'utente, la tua applicazione deve utilizzare un token di aggiornamento. Per informazioni dettagliate sull'implementazione, incluse le richieste e i parametri HTTP specifici richiesti, consulta la documentazione della piattaforma Google Identity.
Per scambiare un token di aggiornamento con un token di accesso, effettua una chiamata POST HTTPS all'endpoint del token OAuth 2.0 di Google. Il seguente snippet mostra un esempio di richiesta e risposta:
Richiesta
curl -L -X POST 'https://oauth2.googleapis.com/token' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'client_id=client-id&client_secret=client-secret&refresh_token=refresh-token&grant_type=refresh_token'
Risposta
{
"access_token": "access-token",
"expires_in": 3599,
"scope": "scope-list",
"token_type": "Bearer",
"refresh_token": "refresh-token",
"refresh_token_expires_in": 112154
}Comportamento dei token durante i test
Tieni presente il comportamento dei token di aggiornamento a seconda dello stato di pubblicazione del tuo progetto Google Cloud:
- Modalità di test: se la schermata per il consenso OAuth è configurata con lo stato di pubblicazione "Test", i token di aggiornamento emessi sono basati sul tempo e scadono dopo 7 giorni. Durante questo periodo, riceverai un singolo token di aggiornamento che rimane valido e utilizzabile per ottenere nuovi token di accesso fino alla data di scadenza.
- Modalità di pubblicazione: una volta che l'app viene spostata nello stato "In produzione", i token di aggiornamento in genere non scadono, a meno che non vengano revocati o rimangano inutilizzati per un periodo prolungato (in genere sei mesi).
Per un'esperienza utente senza interruzioni, assicurati di pubblicare l'applicazione prima di spostarla in un ambiente di produzione per evitare la scadenza dei token dopo 7 giorni.
Protezione su più account (API RISC)
Abilita la condivisione e il coordinamento di rischi e incidenti (RISC) se vuoi ricevere una notifica delle modifiche ai token evento o al collegamento dell'account, ad esempio account disconnessi o token revocati, per liberare spazio dai token archiviati e aggiornare lo stato della connessione dell'interfaccia utente. L'abilitazione dell'API RISC è facoltativa.
Per abilitare l'API RISC per il tuo progetto Google Cloud:
- Apri la pagina dell' API RISC nella console Google Cloud. Assicurati che sia selezionato il progetto che utilizzi per l'API Google Health.
- Leggi i Termini di RISC e assicurati di comprendere i requisiti.
- Fai clic su Abilita se accetti i termini.
Dopo aver abilitato l'API, devi creare e registrare un endpoint HTTPS per ricevere e convalidare i token evento inviati da Google.
Per ulteriori informazioni sulla protezione su più account e su RISC, consulta Proteggere gli account utente con la protezione su più account.