added a step to the login sequence (needed to grant access to certain api services) and also updated some service URLs that had been retired
This commit is contained in:
parent
112666f0f9
commit
7bfc82af75
@ -177,15 +177,23 @@ class GarminClient(object):
|
||||
log.debug("redirected to: '%s'", redirect_url)
|
||||
response = self.session.get(redirect_url, allow_redirects=False)
|
||||
|
||||
if response.status_code == 200:
|
||||
# auth ticket successfully validated.
|
||||
# our client should now have all necessary cookies set.
|
||||
return
|
||||
|
||||
if response.status_code != 200:
|
||||
raise Exception(
|
||||
u"auth failure: unable to validate auth ticket: {}:\n{}".format(
|
||||
response.status_code, response.text))
|
||||
|
||||
# auth ticket successfully validated.
|
||||
# our client should now have all necessary cookies set.
|
||||
|
||||
# as a final step in the "Garmin login rain dance", it appears
|
||||
# as though we need to touch on their legacy session page before
|
||||
# being granted access to some api services (such as the
|
||||
# activity-search-service).
|
||||
self.session.get('https://connect.garmin.com/legacy/session')
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
@require_session
|
||||
def list_activities(self):
|
||||
@ -291,7 +299,7 @@ class GarminClient(object):
|
||||
or ``None`` if the activity couldn't be exported to GPX.
|
||||
:rtype: str
|
||||
"""
|
||||
response = self.session.get("https://connect.garmin.com/modern/proxy/activity-service-1.3/gpx/course/{}".format(activity_id))
|
||||
response = self.session.get("https://connect.garmin.com/modern/proxy/download-service/export/gpx/activity/{}".format(activity_id))
|
||||
# An alternate URL that seems to produce the same results
|
||||
# and is the one used when exporting through the Garmin
|
||||
# Connect web page.
|
||||
@ -319,7 +327,7 @@ class GarminClient(object):
|
||||
:rtype: str
|
||||
"""
|
||||
|
||||
response = self.session.get("https://connect.garmin.com/modern/proxy/activity-service-1.3/tcx/activity/{}?full=true".format(activity_id))
|
||||
response = self.session.get("https://connect.garmin.com/modern/proxy/download-service/export/tcx/activity/{}".format(activity_id))
|
||||
if response.status_code == 404:
|
||||
return None
|
||||
if response.status_code != 200:
|
||||
|
Loading…
Reference in New Issue
Block a user