Risoluzione dei problemi

Questa guida spiega come risolvere i problemi comuni durante l'utilizzo dell'API Google Health.

Errori client 4xx

I codici di stato 4xx vengono restituiti quando si verifica un problema nel codice dell'app client. Per ulteriori informazioni sul problema, consulta gli elementi del corpo della risposta.

Richiesta non valida (400)

Messaggio Descrizione Suggerimento
La richiesta contiene un argomento non valido. L'ID del tipo di dati {value} non è supportato. Verifica che il tipo di dati a cui viene fatto riferimento sia supportato dall'endpoint.
Payload JSON non valido ricevuto. I numeri ottali/esadecimali non sono valori JSON validi. L'endpoint dailyRollUp non supporta i valori di mese e giorno rappresentati rispettivamente come MM o GG. Le singole cifre non devono avere uno 0 (zero) iniziale.
Numero di progetto non valido nel nome della risorsa Quando elimini o aggiorni un abbonato utilizzando l'ID del progetto Google Cloud nell'URL della richiesta anziché il numero di progetto. Questo vale per gli abbonamenti webhook che utilizzano l'endpoint projects.subscribers. Utilizza il numero del progetto Google Cloud nell'URL della richiesta, non l'ID progetto.

Non autorizzato (401)

Messaggio Descrizione Suggerimento
La richiesta aveva credenziali di autenticazione non valide. È previsto un token di accesso OAuth 2, un cookie di accesso o altre credenziali di autenticazione valide. INVALID_AUTHENTICATOR: Token scaduto Il tuo token di accesso è scaduto. Utilizza il token di aggiornamento per ottenere un nuovo token di accesso e un token di aggiornamento oppure l'utente deve dare nuovamente il consenso all'applicazione.

Richiesta vietata (403)

Messaggio Descrizione Suggerimento
Il chiamante non dispone dell'autorizzazione Quando crei o elenchi gli abbonati utilizzando l'ID del progetto Google Cloud nell'URL della richiesta anziché il numero di progetto. Questo vale per gli abbonamenti webhook che utilizzano l'endpoint projects.subscribers. Utilizza il numero del progetto Google Cloud nell'URL della richiesta, non l'ID progetto.
Il chiamante non dispone dell'autorizzazione. Impossibile creare UberMint da GaiaMint.

L'utente è riuscito a completare il flusso di autorizzazione, ma la chiamata dell'endpoint non è riuscita. Questo può verificarsi quando un account Fitbit legacy dà il consenso all'app anziché a un Account Google. Per risolvere questo errore:

  1. Esci dall'app mobile Fitbit tramite le impostazioni di Fitbit.
  2. Accedi all'app mobile Fitbit premendo il pulsante "Continua con Google" o "Accedi con Google". Se ricevi un messaggio che indica "Non puoi utilizzare Fitbit con questo Account Google", il tuo indirizzo email è ancora registrato come account Fitbit legacy. Segui i passaggi descritti in questo articolo del Centro assistenza per eseguire la migrazione del tuo account.

404: non trovato

Messaggio Descrizione Suggerimento
L'URL richiesto /v4/users/me/dataTypes/{dataType}/dataPoints non è stato trovato su questo server. Possibili cause:
  • Verifica che venga utilizzato il verbo corretto
  • Controlla la sintassi dell'endpoint per verificare che non siano presenti errori di battitura

Recuperare un ID utente Fitbit

Per risolvere il problema di un utente, potrebbe essere necessario verificare l'Account Google dell'utente che ha eseguito l'accesso all'app mobile Fitbit.

Per trovare l'ID utente Fitbit:

  1. Apri l'app mobile Fitbit.
  2. Premi l'icona Tu nell'angolo in basso a destra.
  3. Premi il link Modifica profilo nel riquadro in alto contenente il nome dell'utente e la data di registrazione.
  4. Vai alla parte inferiore della pagina. Nella sezione Il tuo account, il valore assegnato all'ID è l'ID utente Fitbit. (Ad esempio: CV5TKH)

Quando aiuti un utente a risolvere i problemi relativi alla connessione OAuth2 alla tua app, potrebbe essere necessario che l'utente scolleghi il proprio account dalla tua app e completi di nuovo il flusso di autorizzazione.

Per scollegare l'Account Google dalla tua app:

  1. Apri l'app mobile Fitbit.
  2. Premi l'icona del profilo utente Fitbit nell'angolo in alto a destra.
  3. Premi Gestisci il tuo Account Google.
  4. Seleziona il riquadro Dati e privacy.
  5. Vai alla sezione **Dati relativi ad app e servizi che utilizzi. In App e servizi, seleziona Servizi e app di terze parti.
  6. Cerca il nome della tua app nell'elenco delle app connesse e chiedi all'utente di selezionarla.
  7. Premi Elimina tutti i tuoi collegamenti con <nome dell'app>.
  8. Chiedi all'utente di premere Conferma per revocare il consenso alla tua app.

Al termine della procedura di revoca, l'utente verrà reindirizzato all'elenco della pagina Servizi e app di terze parti. L'utente potrebbe dover aggiornare la pagina per visualizzare il nome dell'app rimosso dall'elenco.

Risolvere i problemi relativi ai ritardi nella sincronizzazione dei dispositivi

Quando esegui il debug dei problemi relativi ai dati utente mancanti o ritardati, è utile controllare il modello del dispositivo associato dell'utente e la data dell'ultima sincronizzazione.

Le informazioni sul modello (ad esempio un modello di tracker o smartwatch Fitbit) e la data dell'ultima sincronizzazione sono utili per la risoluzione dei problemi e per recuperare i dati storici dopo i ritardi di sincronizzazione.

Ad esempio, se noti un intervallo o un ritardo imprevisto nella pubblicazione dei dati:

  1. Verifica che l'ID utente che stai interrogando corrisponda all'ID utente dell'account Fitbit che ha eseguito l'accesso all'app mobile. Per ottenere l'ID utente nell'app mobile, consulta Recuperare un ID utente Fitbit. Per ottenere l'ID utente dal token di accesso, chiama l'endpoint getIdentity.
  2. Controlla l'ultima ora di sincronizzazione per determinare quando il dispositivo dell'utente è stato sincronizzato l'ultima volta con l'app mobile Google Health.
  3. Se il dispositivo non è stato sincronizzato di recente, il ritardo è probabilmente dovuto al fatto che il dispositivo è offline o non si sincronizza con l'applicazione mobile, anziché a un problema dell'API.
  4. Una volta che l'utente apre l'applicazione mobile e sincronizza il dispositivo, puoi recuperare i dati storici per il periodo successivo all'ultima ora di sincronizzazione.

Per recuperare le informazioni sul dispositivo accoppiato di un utente, chiama l' users.pairedDevices.list endpoint. Viene restituito un elenco di dispositivi contenente:

  • deviceVersion: il nome del prodotto o il modello del dispositivo (ad esempio "Charge 6").
  • lastSyncTime: il timestamp dell'ultima sincronizzazione riuscita.