diff --git a/rowers/stravastuff.py b/rowers/stravastuff.py index 113d088f..6328d065 100644 --- a/rowers/stravastuff.py +++ b/rowers/stravastuff.py @@ -85,8 +85,11 @@ def get_token(code): response = requests.post("https://www.strava.com/oauth/token", data=post_data, headers=headers) - token_json = response.json() - thetoken = token_json['access_token'] + try: + token_json = response.json() + thetoken = token_json['access_token'] + except KeyError: + thetoken = 0 return [thetoken] diff --git a/rowers/views.py b/rowers/views.py index 9731e9e9..46f4321f 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -1161,15 +1161,19 @@ def rower_process_stravacallback(request): code = request.GET['code'] res = stravastuff.get_token(code) - access_token = res[0] + if res[0]: + access_token = res[0] - r = Rower.objects.get(user=request.user) - r.stravatoken = access_token + r = Rower.objects.get(user=request.user) + r.stravatoken = access_token - r.save() + r.save() - successmessage = "Tokens stored. Good to go" - return imports_view(request,successmessage=successmessage) + successmessage = "Tokens stored. Good to go" + return imports_view(request,successmessage=successmessage) + else: + message = "Something went wrong with the Strava authorization" + return imports_view(request,message=message) # Process SportTracks callback