带有API密钥的PyGeocoder

时间:2014-03-20 16:15:58

标签: python google-maps-api-3

我正在使用PyGeocoder

https://bitbucket.org/xster/pygeocoder/wiki/Home

我使用简单的服务器选项创建了一个API密钥,但这并没有提供CLIENT_ID选项。

所以我有代码:

from pygeocoder import Geocoder
business_geocoder = Geocoder(None, 'MY_API_KEY')
address_string = "London, United Kingdom"
results = business_geocoder.geocode(address_string)

这很好用,但我的报价用法没有在管理控制台窗口中报告,我可以将我的API_key更改为任何值,它仍然有效。是否有其他人使用此功能,如果是这样,您是如何实现的?

E.g。这段代码可以使用

business_geocoder = Geocoder(client_id=None, private_key='whatever')

此代码出错:

business_geocoder = Geocoder(client_id="some", private_key='whatever')

pygeolib.GeocoderError: Error Forbidden, 403
Query: https://maps.google.com/maps/api/geocode/json?language=&region=&signature=hrlktNatq4RvlN9Cvd6VNQf8FMw%3D&bounds=&client=some&components=&address=Barnfield+Drive%2C+Chichester%2C+United+Kingdom&sensor=false

1 个答案:

答案 0 :(得分:1)

Google documentation似乎表明Geocoding API不支持Simple API密钥身份验证方法,但它们仍以某种方式工作。

我刚刚更新了pygeocoder的1.2.3版本,因此您应该能够做到

Geocoder('YOUR_API_KEY').geocode(...
升级模块后

pip install --upgrade pygeocoder