我正在使用Google Maps API通过适用于Google Maps Web Services的Python客户端库在Google App Engine中设置项目
我尝试了以下示例代码:
import googlemaps
gmaps = googlemaps.Client(key='MY API KEY HERE')
geocode_result = gmaps.geocode('1600 Amphitheatre Parkway, Mountain View, CA')
是的,我确实把我的实际API密钥放在那里。事实上,它在Anaconda iPython控制台中运行得很好,但在Google Apps Engine中,我得到:
文件" C:\ Users \ Dan \ Documents \ Apps \ oncourse \ main.py",第31行
geocode_result = gmaps.geocode(' 1600 Amphitheatre Parkway,Mountain 查看,CA')
文件 " C:\用户\丹\文件\ APPS \ oncourse \ lib中\ Google地图\ geocoding.py&#34 ;, 第68行,在地理编码中
返回client._get(" / maps / api / geocode / json",params)["结果"]
文件" C:\ Users \ Dan \ Documents \ Apps \ oncourse \ lib \ googlemaps \ client.py", 第204行,在_get
中提升googlemaps.exceptions.TransportError(e)
TransportError :('连接已中止。',错误(13,'权限) 否认'))
INFO 2015-11-22 20:14:23,002 module.py:794]默认:" GET / HTTP / 1.1" 500 -
这个错误究竟意味着什么?
我想我没有正确设置所有库,
我的app.yaml文件包含
libraries:
- name: ssl
version: latest
我在我应用的根目录的lib文件夹中安装了googlemaps库。 gmaps=Client(key)
实例化工作(我通过输出gmaps.key测试它),所以我相信我已经正确设置了谷歌地图库。
答案 0 :(得分:6)
我有同样的问题。似乎问题在于 requests 的已安装版本。我使用
在 libs 中安装了谷歌地图pip install -t lib googlemaps
这已经在 libs 中安装了 requests-2.6 。 我从 libs 手动删除了 requests 和 requests-2.6.0.dist-info 目录,然后安装了 requests-2.3 < / em>使用
pip install -t lib requests==2.3
这解决了我的问题。 希望它有所帮助。