The Fitbit integration connects through the classic Fitbit Web API, so a self-hoster registers a Fitbit developer app at dev.fitbit.com — but the setup guide walked users through creating a Google Cloud OAuth client, whose client id the Fitbit sign-in rejects (unauthorized_client). Rewrite the guide for the dev.fitbit.com flow (app type, HTTPS callback, scopes, PKCE), leave the old page as a pointer, and add a test that keeps the documented scopes and endpoints in sync with the client so the guide cannot drift from the code again. Flags the September 2026 sunset of the classic Fitbit Web API.
887 B
Google Health / Fitbit integration
This page moved. HealthLog connects Fitbit and Pixel Watch data through the classic Fitbit Web API (an app registered at dev.fitbit.com), not through a Google Cloud OAuth client. If you were told to create a Google Cloud client and hit
unauthorized_client — Invalid client_id, that is why.
See Fitbit integration (Fitbit & Pixel) for the correct setup.
Background: Google is retiring the classic Fitbit Web API in September 2026 in favour of the Google Health API behind Google sign-in. That replacement requires Restricted-scope brand verification plus an annual CASA security assessment, which does not currently fit a self-hosted bring-your-own-credentials model, so until the sunset the Fitbit developer-app path documented above is the supported way to connect.