Authorizing Requests

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

About authorization protocols

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.

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 vary somewhat depending on what kind of application you're writing. The following general process applies to all application types:

  1. When you create your application, you 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. When your application needs access to user data, it asks Google for a particular scope of access.
  4. Google displays a consent screen to the user, asking them to authorize your application to request some of 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.

Some flows include additional steps, such as using refresh tokens to acquire new access tokens. For detailed information about flows for various types of applications, see Google's OAuth 2.0 documentation.

Here's the OAuth 2.0 scope information for the Fitness API:

Scope Data Types
https://www.googleapis.com/auth/fitness.activity.read com.google.accelerometer
com.google.active_minutes
com.google.activity.exercise
com.google.activity.segment
com.google.activity.summary
com.google.activity.transition
com.google.calories.consumed
com.google.calories.expended
com.google.cycling.pedaling.cadence
com.google.cycling.pedaling.cumulative
com.google.floor_change
com.google.floor_change.summary
com.google.heart_minutes
com.google.power.sample
com.google.power.summary
com.google.step_count.cadence
com.google.step_count.cumulative
com.google.step_count.delta
com.google.step_length
com.google.stride_model
https://www.googleapis.com/auth/fitness.activity.write
https://www.googleapis.com/auth/fitness.blood_glucose.read com.google.blood_glucose
com.google.blood_glucose.summary
https://www.googleapis.com/auth/fitness.blood_glucose.write
https://www.googleapis.com/auth/fitness.blood_pressure.read com.google.blood_pressure
com.google.blood_pressure.summary
https://www.googleapis.com/auth/fitness.blood_pressure.write
https://www.googleapis.com/auth/fitness.body.read com.google.body.fat.percentage
com.google.body.fat.percentage.summary
com.google.body.hip.circumference
com.google.body.hip.circumference.summary
com.google.body.waist.circumference
com.google.body.waist.circumference.summary
com.google.calories.bmr
com.google.calories.bmr.summary
com.google.heart_rate.bpm
com.google.heart_rate.summary
com.google.height
com.google.height.summary
com.google.hydration
com.google.weight
com.google.weight.summary
https://www.googleapis.com/auth/fitness.body.write
https://www.googleapis.com/auth/fitness.body_temperature.read com.google.body.temperature
com.google.body.temperature.summary
https://www.googleapis.com/auth/fitness.body_temperature.write
https://www.googleapis.com/auth/fitness.location.read com.google.cycling.wheel_revolution.cumulative
com.google.cycling.wheel_revolution.rpm
com.google.distance.cumulative
com.google.distance.delta
com.google.speed
com.google.speed.summary
https://www.googleapis.com/auth/fitness.location.write
https://www.googleapis.com/auth/fitness.nutrition.read com.google.nutrition
com.google.nutrition.summary
https://www.googleapis.com/auth/fitness.nutrition.write
https://www.googleapis.com/auth/fitness.oxygen_saturation.read com.google.oxygen_saturation
com.google.oxygen_saturation.summary
https://www.googleapis.com/auth/fitness.oxygen_saturation.write
https://www.googleapis.com/auth/fitness.reproductive_health.read com.google.body.temperature.basal
com.google.body.temperature.basal.summary
com.google.cervical_mucus
com.google.cervical_position
com.google.menstruation
com.google.ovulation_test
com.google.vaginal_spotting
https://www.googleapis.com/auth/fitness.reproductive_health.write

To request access using OAuth 2.0, your application needs the scope information, as well as information that Google supplies when you register your application (such as the client ID and the client secret).

Send feedback about...