Is ClientID needed for basic script access? Easiest way to get GPX d/l of sequence?

The title says it all. My basic need is to get a GPX file from our Mapillary sequences to load into GPS Tracks app. Existing Python libraries seem to be able to do this. Otherwise the API looks to suggest it would be easy to do in a no-frills script. But the developer docs clientID page seems oriented to app developers where a callback url is required on the request form submission to obtain the ID. If I write a personal use script or use the existing libraries to request a GPX file return, I don’t understand what my callback url would be. Thanks for clarifying.

Edit added later: Here is the statement from the Help page ’ Accessing imagery and data through the Mapillary API’ that is confusing me: “Take special note of the Callback URL. This must be a real web address, whether it is your company website, your personal website, or something else. This is important because we are going to use this URL for retrieving your access token.”

The url is to be “real” including “something else” as this url will be used to retrieve the access token? But I see no instruction as to what needs to be enabled or provided in a hidden header or whatever on that callback url for Mapillary to “retrieve” said token. I just want to write a personal script using the API. I’m at the same time doing whatever I can to reduce my need to maintain any public webservers that I have admin access to that would provide such authentication response configuration .

Again, thanks for clarifying.

Geez thank you for the information but I don’t think I deserved the accusation of spamming the forum. If there was documentation of the default clientID you mentioned, I did not see it.

I had read the specific short API info you pointed to and was confused about needing an application clientID for such a limited personal use script. Sorry to have offended you. Not the most welcoming reply to my first post on this forum, but thanks for the info I needed.

Maybe I missed the volume of related information you mentioned because I was searching on the term ‘clientID’ and not ‘client_id’. Will try to be more specific in my doc reading to avoid future offensive questions if I have them.

Thanks for the clarification. With the client_id you provided, I was able to quickly and easily do a Python script with nothing more needed than Requests and Tkinter modules. I then tweaked that script to run as a Jupyter Notebook so I could run it conveniently on my iPad and iPhone.

The GPX exported Mapillary sequences then easily import into GPS Tracks app on iOS devices to integrate with all its great features as a companion to our Mapillary trail walks. I was planning for this script to be used only personally as part of my spinal cord injury rehab now that I can walk (a bit) again. My wife and I are starting a project called Veloped’lin Colorado where we encourage mobility challenged folks to get out on the beautiful trails we have throughout the state. The name is related to the Trionic Veloped, which is a brand of walker/rollator but more like a “mountain bike” for off road. We’ve repurposed one of my trekking poles from before my accident and have mounted a GoPro MAX 360 camera on my Veloped. :slight_smile:

As this project evolves, we might want to make this script available to others. So I am still a bit confused about what the requirements are for a callback_url. Does it just have to be a live address on the public web for non-interactive access by the Mapillary servers? Or does in need to do some kind of interactive handshake for script authentication? I will be more than happy to apply for the client_id even if we don’t end up publishing this simple script/notebook under an Open Source license. I just didn’t know how to apply given this callback requirement.

Thanks for the helpful information.

Thanks for the encouragement and thoroughly helpful information. I wish my spinal cord injury was something I could get well from but the best I can do is work to recover as much as I can by my cord rewiring itself. Our first hikes have been on flat open space trails going about a half mile or so at about 1.2 mph. :-/

You are right. My only experience with OAuth 2.0 has been as a user, not a developer. That was the source of my confusion as my only frame of reference was of callbacks in the context of software design where it is a much more interactive involvement. So given your explanation I went ahead and generated a client_id for my script using the Velopedlin.org domain as callback url which is live but nothing more that an under construction page ATM. I have set up the DNS to provide email service for our project and plan to point the domain name to the publication on Medium that will serve as our web presence once we are fully up and running.

I have been able to pull our first two walk sequences out as GPX files and use them at the brilliant GPS Visualizer web service to add elevation data to the GPX files which I then use to generate Elevation Profile graphical plots and elevation color-coded map track images for use on our trip reports. Elevation data is super important to mobility challenged walkers.

Thanks again for your helpful reply and encouragement.

With the Mapillary API v4, all the old tools broke.
Here’s a quick Perl script to get GPX sequence[s]. For convenience, a single image ID can be specified from each sequence.
https://www.openstreetmap.org/user/richlv/diary/400630

This isn’t exactly what you wanted to do, but I don’t see how that can be achieved with the API now, and scraping the webpage is an effort I’m not ready to put in.

For my own use, I’d love to filter by user, camera and date in a bbox, but Mapillary API got so seriously nerfed with v4