Estoy tratando de obtener la lista de mapas creados por mí en Google Maps y la API de Mapas dice lo siguiente:El uso de GET y POST con cabecera HTTP de autorización en Python
Recuperando una lista de mapas
La API de datos de mapas proporciona un feed que enumera los mapas creados por un usuario en particular; este alimento se conoce como "metafeed". Un típico API metafeed Mapas de datos es una petición GET de la siguiente forma:
Las peticiones de alimentación por defecto todos los mapas asociados al usuario autenticado
GET http://maps.google.com/maps/feeds/maps/default/full
Authorization: GoogleLogin auth="authorization_token"
Las solicitudes metafeed estándar todos los mapas asociados con el ID de usuario asociado
GET http://maps.google.com/maps/feeds/maps/userID/full
Authorization: GoogleLogin auth="authorization_token"
Tenga en cuenta que ambas solicitudes GET requieren un encabezado HTTP de Autorización, pasando un token AuthSub o GoogleLogin, según el esquema de autenticación que haya implementado. (El token GoogleLogin corresponde al proceso de autenticación ClientLogin.)
no tengo idea de cómo crear solicitud HTTP con cabeceras HTTP de autorización. Ya tengo código para obtener el authorization_token
, que es el siguiente:
# 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]
También me dio un vistazo a httplib
documentos, pero no entiendo mucho (no soy un programador profesional).
¿Alguna pista?
¡Has dado en el clavo! Sabía que habría una forma directa de hacerlo. Ahora, para la desaprobación de Maps Data API, algunos sitios dicen una cosa, otros dicen que otra ... ¡Veamos si funciona! – heltonbiker
Sí, funciona, obtengo una cadena XML con información sobre todos mis mapas, pero o no sé qué hacer con los datos, y también la API está en desuso. Así que seguiré usando regex para obtener los 'MapID's de esta cadena y automatizar la descarga de mapas en formato KML:' 'http://maps.google.com.br/maps/ms?msid=USERID.MAPID&msa=0&output= kml' – heltonbiker