【发布时间】:2011-09-04 19:23:57
【问题描述】:
我正在尝试获取我在 Google 地图中创建的地图列表,地图 API 显示以下内容:
检索地图列表
地图数据 API 提供了一个提要,其中列出了由特定用户创建的地图;此提要称为“元提要”。典型的 Maps Data API 元供稿是以下形式的 GET 请求:
默认提要请求与经过身份验证的用户关联的所有地图
GET http://maps.google.com/maps/feeds/maps/default/full
Authorization: GoogleLogin auth="authorization_token"
标准元供稿请求与关联用户 ID 关联的所有地图
GET http://maps.google.com/maps/feeds/maps/userID/full
Authorization: GoogleLogin auth="authorization_token"
请注意,这两个 GET 请求都需要一个 Authorization HTTP 标头,传递一个 AuthSub 或 GoogleLogin 令牌,具体取决于您实施的身份验证方案。 (GoogleLogin 令牌对应 ClientLogin 身份验证过程。)
我不知道如何使用 Authorization HTTP 标头创建 HTTP 请求。我已经有了获取authorization_token的代码,如下:
# 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]
我也看了httplib docs,但看不懂(我不是专业程序员)。
有什么线索吗?
【问题讨论】:
标签: python http http-headers google-api