This library is a fully typed JavaScript wrapper of the Strava JSON API.
To install the package, run:
npm install strava
or
yarn add strava
The way the library is implemented the user must have gone through the Strava OAuth flow beforehand and got a refresh token. This way we can ensure that whenever needed we get a new access token.
This may not be the best way to work with the API and I'm open to suggestions to make it better.
import { Strava } from 'strava'
const strava = new Strava({
client_id: '123',
client_secret: 'abc',
refresh_token: 'def',
})
;(async () => {
try {
const activities = await strava.activities.getLoggedInAthleteActivities()
console.log(activities)
} catch (error) {
console.log(error)
}
})()
This library will automatically refresh the access token when needed. You may need to store the refresh token somewhere, so you can use it on_token_refresh
callback.
import { Strava } from 'strava'
const strava = new Strava({
client_id: '123',
client_secret: 'abc',
refresh_token: 'def',
on_token_refresh: (response: RefreshTokenResponse) => {
db.set('refresh_token', response.refresh_token)
}
})
Issues and pull requests are welcome.