Как программно получить список моих мест из Карт Google?
Я делаю веб-приложение, которое использует Google Maps API v3. Я хочу отобразить некоторые места на карте, которые хранятся в разделе "Мои места" в Google Картах пользователя.
Я знаю, что Google Maps API поддерживает KML, и я могу загрузить KML из Google Maps My Places. Но я хочу сделать это программно.
Пример:
Пользователь заходит на мой сайт, входит в систему, используя свои учетные данные Google, и они могут видеть список своих сохраненных мест. После нажатия на одну из них это место появится на карте, которая есть в моем веб-приложении.
Пожалуйста, подскажите, как мне это сделать.
Я нашел эти места доступа в Моих местах определенного аккаунта через Google Maps API и попробовал это так:
import urllib2, urllib, re, getpass
username = 'abhishekworld'
senha = getpass.getpass('password' + username + ':')
dic = {
'accountType': 'GOOGLE',
'Email': (username + '@gmail.com'),
'Passwd': senha,
'service': 'local',
'source': 'themappers'
}
url = 'https://www.google.com/accounts/ClientLogin?' + urllib.urlencode(dic)
print url
output = urllib2.urlopen(url).read()
authid = output.strip().split('\n')[-1].split('=')[-1]
request = urllib2.Request('http://maps.google.com/maps/feeds/maps/default/full?access_token='+authid)
request.add_header('Authorization', 'GoogleLogin auth=%s' % authid)
source = urllib2.urlopen(request).read()
open('feed.xml','w').write(source)
for link in re.findall('<link rel=.alternate. type=.text/html. href=((.)[^\1]*?)>', source):
s = link[0]
if 'msa=0' in s:
msid = s.split(";")[-1]
print "https://maps.google.com/maps/ms?authuser=0&vps=2&ie=UTF8&msa=0&output=kml&"+msid
Хотя это работает нормально, после нескольких входов в систему Google отправляет вам электронное письмо с сообщением "о подозрительной активности сообщается", поэтому мне нужно чистое решение. Пожалуйста, дайте мне знать, если есть какой-нибудь чистый способ сделать это.