Terence Eden
Terence Eden

Reputation: 14324

Extfiltrating Google Location History from Timeline

Note, due to changes to Google's "Timeline" this previous answer no longer works.


Google offers a "Timeline" service which allows users to access their phone's location history.

I want to extract my phone's current location.

If I select "today" in Timeline, I can "Export this day to KML"

enter image description here

This contains the data I need, but I don't know how to get these data programatically. I don't want to have to log in to the website every time I need this information.

The URL it provides is -

https://doc-0uom0-1q5a8-s-googleusercontent.commondatastorage.googleapis.com/gs/[hash1]/[hash2]/1441116000000/takeout-eu/[user id]/[stupidly long hash]&nonce=[hash3]&user=[user id]&hash=[hash4]

Apart from the Unix timestamp (1441116000000) I don't know how to calculate the parameters for that URL.

The Google Maps API documentation doesn't list anything.

I'd like to be able to wget a URL to collect my data. Does anyone know how this can be done?

Upvotes: 12

Views: 9138

Answers (2)

Varanasi Benares
Varanasi Benares

Reputation: 400

This will give the latest points, I believe:

 https://www.google.com/maps/timeline/kml

Upvotes: 7

Terence Eden
Terence Eden

Reputation: 14324

According to this question - Current URL To Download KML Data From Google Location History? - the URL format is:

Eg https://www.google.com/maps/timeline/kml?authuser=0&pb=!1m8!1m3!1i2015!2i7!3i1!2m3!1i2015!2i7!3i8 gives 7 days.

Highlighting the parts of the date: pb=!1m8!1m3!1i2015!2i7!3i8!2m3!1i2015!2i7!3i8

Note the month is zero based, so one off normal, 0=Jan, 11=Dec

So, in order to get today's date (2015-09-01) the URL needs to be

https://www.google.com/maps/timeline/kml?authuser=0&pb=!1m8!1m3!1i2015!2i8!3i1!2m3!1i2015!2i8!3i1

i.e.

pb=!1m8!1m3!1iYYYY!2iMM!3iDD!2m3!1iYYYY!2iMM!3iDD

Where MM is a Javascript style zero-based month.

Within the KML, the times are West Coast USA - e.g. <when>2015-09-01T12:15:37.836-07:00</when>

So your requests may need to take that into account.

Upvotes: 4

Related Questions