在 Google API 控制台中,API 访问为server
、browser
、Android
和生成密钥iOS
。
- 我需要哪种类型的 api_key 从 Google App Engine Python 生成地理编码?
- 如果答案是服务器,我是否需要为 GAE 找出服务器的 IP 地址,它们是什么?我得到了
74.125.129.141
,这可能会改变。(或者会吗?) - 如果你有一个 Python GAE 服务器,你能帮我找到一个生成代码的例子吗?我不确定我是否做对了?
我有这段代码,它显示data
来自result.content
. 我的目的是使用以下方法将地理编码保存到数据库中ndb.GeoPt(lat,lng)
:
def get_geo(address):
browser_key = "browser_key"
server_key = "server_key"
address = cgi.escape(address.replace(" ","+"))
sensor = "true"
url = "http://maps.googleapis.com/maps/api/geocode/json?key="+ server_key +"&address=" + address + "&sensor="+ sensor
result = urlfetch.fetch(url)
data = json.loads(result.content) # This is the error
geo = data
#lat = data['results'][0]['geometry']['location']['lat']
#long = data['results'][0]['geometry']['location']['lng']
#return ndb.GeoPt(str(lat) +","+ str(long))
return geo
我在使用上面的例子时遇到了这个错误:
File "C:\xampp\htdocs\mapjobs\main.py", line 18, in get_geo
data = json.loads(result.content)
File "C:\Python27\lib\json\__init__.py", line 310, in loads
return _default_decoder.decode(s)
File "C:\Python27\lib\json\decoder.py", line 346, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Python27\lib\json\decoder.py", line 364, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded