With the Fitbit API, you can build applications that:
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
fitbit: {
type: "app",
app: "fitbit",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.fitbit.com/1/user/-/profile.json`,
headers: {
Authorization: `Bearer ${this.fitbit.$auth.oauth_access_token}`,
},
})
},
})
Fitbit uses OAuth authentication. When you connect your Fitbit account, Pipedream will open a popup window where you can sign into Fitbit and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any Fitbit API.
Pipedream requests the following authorization scopes when you connect your account:
activity
heartrate
location
nutrition
profile
settings
sleep
social
weight
temperature
oxygen_saturation
respiratory_rate
electrocardiogram
cardio_fitness
GET
https://www.fitbit.com/oauth2/authorize
?
client_id={{oauth.client_id}}
&
redirect_uri={{oauth.redirect_uri}}
&
state={{oauth.state}}
&
response_type=code
&
scope={{oauth.space_separated_scopes}}
POST
https://api.fitbit.com/oauth2/token
content-type: application/x-www-form-urlencoded
accept: application/json
client_id={{oauth.client_id}}
&
client_secret={{oauth.client_secret}}
&
redirect_uri={{oauth.redirect_uri}}
&
grant_type=authorization_code
&
code={{oauth.code}}
&
token_type=Bearer
POST
https://api.fitbit.com/oauth2/token
content-type: application/x-www-form-urlencoded
accept: application/json
client_id={{oauth.client_id}}
&
client_secret={{oauth.client_secret}}
&
grant_type=refresh_token
&
refresh_token={{oauth.refresh_token}}