This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to change privacy on all existing runs/rides?

Let's say I want to change the privacy setting on all of my existing activity records (runs and rides) stored in Garmin Connect. How can I do that? The setting in "Privacy" settings applies only to new records. The setting in each specific record applies to that record alone.

Is there a way to change all existing records in one shot?
  • You'll have to do it a page at a time on the summary page that lists your activities. Painful, but that's all GC is able to do.

    If you have a copy of all your activities stored on your computer, then you could ask the webmaster to delete all your data then re-upload them, but that may be just as painful.

    It does seem like I've seen someone post a script or program they wrote to do this, but I don't know where to find that post. Maybe if you search, you might notice it or maybe someone that knows of it will answer.
  • I created a python script a while ago that could be used to do exactly this. I'm not sure it still works, but I can try it out later this morning.

    Travis
  • Former Member
    0 Former Member over 10 years ago
    I created a python script a while ago that could be used to do exactly this. I'm not sure it still works, but I can try it out later this morning.

    Travis


    Hi Travis - did you have any luck with this? I'm not sure it does still work, when I tried it I got - which looks like the URL might have changed:

    File "garmin_privacy.py", line 215, in <module>
    main()
    File "garmin_privacy.py", line 155, in main
    fetch_html_from_url(url)
    File "garmin_privacy.py", line 61, in fetch_html_from_url
    with urllib.request.urlopen(request, timeout=30) as response:
    File "c:\Python34\lib\urllib\request.py", line 161, in urlopen
    return opener.open(url, data, timeout)
    File "c:\Python34\lib\urllib\request.py", line 469, in open
    response = meth(req, response)
    File "c:\Python34\lib\urllib\request.py", line 579, in http_response
    'http', request, response, code, msg, hdrs)
    File "c:\Python34\lib\urllib\request.py", line 501, in error
    result = self._call_chain(*args)
    File "c:\Python34\lib\urllib\request.py", line 441, in _call_chain
    result = func(*args)
    File "c:\Python34\lib\urllib\request.py", line 684, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
    File "c:\Python34\lib\urllib\request.py", line 469, in open
    response = meth(req, response)
    File "c:\Python34\lib\urllib\request.py", line 579, in http_response
    'http', request, response, code, msg, hdrs)
    File "c:\Python34\lib\urllib\request.py", line 501, in error
    result = self._call_chain(*args)
    File "c:\Python34\lib\urllib\request.py", line 441, in _call_chain
    result = func(*args)
    File "c:\Python34\lib\urllib\request.py", line 684, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
    File "c:\Python34\lib\urllib\request.py", line 469, in open
    response = meth(req, response)
    File "c:\Python34\lib\urllib\request.py", line 579, in http_response
    'http', request, response, code, msg, hdrs)
    File "c:\Python34\lib\urllib\request.py", line 501, in error
    result = self._call_chain(*args)
    File "c:\Python34\lib\urllib\request.py", line 441, in _call_chain
    result = func(*args)
    File "c:\Python34\lib\urllib\request.py", line 684, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
    File "c:\Python34\lib\urllib\request.py", line 469, in open
    response = meth(req, response)
    File "c:\Python34\lib\urllib\request.py", line 579, in http_response
    'http', request, response, code, msg, hdrs)
    File "c:\Python34\lib\urllib\request.py", line 501, in error
    result = self._call_chain(*args)
    File "c:\Python34\lib\urllib\request.py", line 441, in _call_chain
    result = func(*args)
    File "c:\Python34\lib\urllib\request.py", line 684, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
    File "c:\Python34\lib\urllib\request.py", line 469, in open
    response = meth(req, response)
    File "c:\Python34\lib\urllib\request.py", line 579, in http_response
    'http', request, response, code, msg, hdrs)
    File "c:\Python34\lib\urllib\request.py", line 501, in error
    result = self._call_chain(*args)
    File "c:\Python34\lib\urllib\request.py", line 441, in _call_chain
    result = func(*args)
    File "c:\Python34\lib\urllib\request.py", line 684, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
    File "c:\Python34\lib\urllib\request.py", line 469, in open
    response = meth(req, response)
    File "c:\Python34\lib\urllib\request.py", line 579, in http_response
    'http', request, response, code, msg, hdrs)
    File "c:\Python34\lib\urllib\request.py", line 501, in error
    result = self._call_chain(*args)
    File "c:\Python34\lib\urllib\request.py", line 441, in _call_chain
    result = func(*args)
    File "c:\Python34\lib\urllib\request.py", line 684, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
    File "c:\Python34\lib\urllib\request.py", line 469, in open
    response = meth(req, response)
    File "c:\Python34\lib\urllib\request.py", line 579, in http_response
    'http', request, response, code, msg, hdrs)
    File "c:\Python34\lib\urllib\request.py", line 507, in error
    return self._call_chain(*args)
    File "c:\Python34\lib\urllib\request.py", line 441, in _call_chain
    result = func(*args)
    File "c:\Python34\lib\urllib\request.py", line 587, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
    urllib.error.HTTPError: HTTP Error 404: Not Found

    Any ideas on what it might have changed to?

    Chris
  • Former Member
    0 Former Member over 10 years ago
    Hi Travis - did you have any luck with this? I'm not sure it does still work, when I tried it I got - which looks like the URL might have changed:

    File "garmin_privacy.py", line 215, in <module>
    main()
    File "garmin_privacy.py", line 155, in main
    fetch_html_from_url(url)
    File "garmin_privacy.py", line 61, in fetch_html_from_url
    with urllib.request.urlopen(request, timeout=30) as response:


    Any ideas on what it might have changed to?

    Chris


    Ok answering myself - as a programmer of APIs myself, I've just added Python3.4 to VS 2012 to debug. It seems it's failing on the return from the authentication bit, it gets a ticket as follows:

    http://connect.garmin.com/post-auth/login?ticket=ST-0883957-6BJWenaqEcxcGWMm3Twi-cas

    but when it attempts to pull the html back it fails. If you put that URL in while logged in, it maybe valid, but you get a redirect to http://connect.garmin.com/modern. My guess is the authentication process has been tweaked/changed, and I probably need to go through the API docs to find out where.

    Chris
  • Hi,
    I have the same, any solution?? :confused::confused:

    Thanks in advance.

    Cheers.