Próbuję uzyskać listę map stworzonych przeze mnie w Mapach Google, a Maps API mówi co następuje:Korzystanie GET i POST z nagłówka HTTP odpowiedzialnego w Pythonie
Odzyskiwanie Lista map
Interfejs API danych map Google udostępnia kanał informacyjny zawierający mapy utworzone przez określonego użytkownika; ten kanał jest znany jako "metafeed". Typowym Mapy danych API metafeed jest żądanie GET z poniższego formularza:
Domyślne wnioski paszowe wszystkie mapy związane z uwierzytelnionego użytkownika
GET http://maps.google.com/maps/feeds/maps/default/full
Authorization: GoogleLogin auth="authorization_token"
Standardowe wnioski metafeed wszystkie mapy związane ze skojarzoną identyfikator użytkownika
GET http://maps.google.com/maps/feeds/maps/userID/full
Authorization: GoogleLogin auth="authorization_token"
Należy pamiętać, że oba żądania GET wymagają nagłówka HTTP Authorization, który przekazuje token AuthSub lub GoogleLogin, w zależności od zaimplementowanego schematu uwierzytelniania. (The GoogleLogin żeton odpowiada procesu uwierzytelniania ClientLogin.)
nie mam pojęcia w jaki sposób utworzyć żądanie HTTP z nagłówków HTTP autoryzacji. Mam już kod aby otrzymać authorization_token
, który przedstawia się następująco:
# coding: utf-8
import urllib, re, getpass
# http://code.google.com/intl/pt-BR/apis/maps/documentation/mapsdata/developers_guide_protocol.html#ClientLogin
username = 'heltonbiker'
senha = getpass.getpass('Senha do usuário ' + username + ':')
dic = {
'accountType': 'GOOGLE',
'Email': (username + '@gmail.com'),
'Passwd': senha,
'service': 'local',
'source': 'helton-mapper-1'
}
url = 'https://www.google.com/accounts/ClientLogin?' + urllib.urlencode(dic)
output = urllib.urlopen(url).read()
authid = output.strip().split('\n')[-1].split('=')[-1]
Wziąłem też spojrzeć na httplib
docs, ale nie bardzo rozumiem (nie jestem profesjonalnym programistą).
Jakaś wskazówka?
Uderzyłeś! Wiedziałem, że będzie jakiś prosty sposób na zrobienie tego. Teraz, jeśli chodzi o wycofywanie API danych w Mapach, niektóre witryny mówią jedno, inne mówią ... Zobaczmy, czy to działa! – heltonbiker
Tak, działa, otrzymuję ciąg znaków XML z informacjami o wszystkich moich mapach, ale albo nie wiem, co zrobić z danymi, a także API jest rzeczywiście przestarzałe. Tak więc będę nadal używać wyrażeń regularnych, aby pobrać 'MapID's z tego ciągu i zautomatyzować pobieranie map w formacie KML:' 'http://maps.google.com.br/maps/ms?msid=USERID.MAPID&msa=0&output= kml' – heltonbiker