TransportError' Permission Denied'在谷歌

时间:2015-11-23 01:54:31

标签: python google-maps google-app-engine

我正在使用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测试它),所以我相信我已经正确设置了谷歌地图库。

1 个答案:

答案 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

这解决了我的问题。 希望它有所帮助。