STRAVA_API

{
  "file": /path/to/file.txt, // {File} The uploaded file.
  "name": name_example, // {String} The desired name of the resulting activity.
  "description": description_example, // {String} The desired description of the resulting activity.
  "trainer": trainer_example, // {String} Whether the resulting activity should be marked as having been performed on a trainer.
  "commute": commute_example, // {String} Whether the resulting activity should be tagged as a commute.
  "dataType": dataType_example, // {String} The format of the uploaded file.
  "externalId": externalId_example // {String} The desired external identifier of the resulting activity.
}


https://resmedglobal.atlassian.net/secure/CreateIssue.jspa?issuetype=2&pid=ISMS2
https://resmedglobal.atlassian.net/secure/CreateIssue.jspa?issuetype=3&pid=ISMS2

OAuth2.0 strava / pebble

1 - get activity:write authorization (once and for all)
    GET https://www.strava.com/oauth/authorize?client_id=94880&response_type=code&redirect_uri=http://strava.jonget.fr&approval_prompt=force&state=bike_companion&scope=activity:write
    monitor state, code and scope (as upload can be unchecked)!
    code is short lived and one time usage
2 - get tokens in exchange of code
    POST https://www.strava.com/oauth/token?client_id=94880&client_secret=08dc170f0fe38f39dd327bea82a28db4400e6f00&code=e0aeb60ea9f508d25974bb56ccb551be56b91470&grant_type=authorization_code
    refresh & access tokens + expiry of access token (6hours) retrieved

3 - test if access token expired

4a- if not, API call
    GET https://www.strava.com/api/v3/athlete with "Authorization" header ="Bearer XXXXX"  XXXXX=access token

4b- if yes refresh access token with refresh token get in 2
    POST https://www.strava.com/oauth/token?client_id=94880&client_secret=08dc170f0fe38f39dd327bea82a28db4400e6f00&refresh_token=XXXXXXX&grant_type=refresh_token