We're making some changes to the Google Fit APIs. Learn about how these changes might affect your app. Read our new policy.

Authorizing Requests

Every request your application sends to the Fitness API must include an authorization token. The token also identifies your application to Google.

Authorization protocol

Your application must use OAuth 2.0 to authorize requests. No other authorization protocols are supported. If your application uses Google Sign-In, some aspects of authorization are handled for you.

The data types your app wants to access correspond to scopes. Before you can access data types, you'll need to identify if their corresponding scopes are sensitive or restricted and follow the relevant steps when applying for verification. See step 3 of authorizing requests below.

Authorizing requests with OAuth 2.0

All requests to the Fitness API must be authorized by an authenticated user.

The details of the authorization process, or "flow," for OAuth 2.0 will depend on the kind of app you're writing. This general process applies to all app types:

  1. When you create your application, register it using the Google API Console. Google then provides information you'll need later, such as a client ID and a client secret.
  2. Activate the Fitness API in the Google API Console. (If the API isn't listed in the API Console, then skip this step.)
  3. Apply for verification and submit the relevant supporting information for why your app needs certain scopes. The data types your app needs to access correspond to scopes your app needs to request.
  4. If your app is verified, Google displays a consent screen to the user, asking them to authorize your app to access their data.
  5. If the user approves, then Google gives your application a short-lived access token.
  6. Your application requests user data, attaching the access token to the request.
  7. If Google determines that your request and the token are valid, it returns the requested data.

Read about the OAuth scopes for the Fitness API here. Look up which scope is needed for each data type.