我試圖讓本人在谷歌地圖中創建的地圖列表,地圖API授權HTTP標頭說以下內容:使用GET和POST可以用Python
檢索地圖列表
Maps Data API提供了一個提要,該提要列出了由特定用戶創建的地圖;這種飼料被稱爲「元饋送」。典型的地圖數據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請求都需要一個授權HTTP標頭,傳遞一個AuthSub或GoogleLogin令牌,具體取決於您實施的認證方案。 (GoogleLogin令牌對應於ClientLogin身份驗證過程。)
我不知道如何使用授權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
文檔,但並沒有多少了解(我不是一個專業的程序員)。
任何線索?
你已經擊中了現場!我知道會有一些簡單的方法來做到這一點。現在對於Maps Data API棄用,有些網站會說一件事,有些則會說其他的...讓我們看看它是否有效! – heltonbiker
是的,它的工作原理是,我得到一個帶有關於我所有地圖信息的XML字符串,但是我不知道該如何處理數據,而且API的確已被棄用。因此,我將繼續使用正則表達式從此字符串中獲取'MapID'並以KML格式自動執行地圖下載:''http://maps.google.com.br/maps/ms?msid=USERID.MAPID&msa=0&output= kml' – heltonbiker