带API密钥的PyGeocoder
我正在使用 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 改成任何值,它依然可以正常工作。有没有其他人使用这个功能,如果有的话,你们是怎么实现的?
例如,这段代码可以正常工作:
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=®ion=&signature=hrlktNatq4RvlN9Cvd6VNQf8FMw%3D&bounds=&client=some&components=&address=Barnfield+Drive%2C+Chichester%2C+United+Kingdom&sensor=false
1 个回答
2
谷歌的文档似乎说明简单的API密钥认证方法不支持地理编码API,但它们还是能以某种方式工作。
我刚刚更新了pygeocoder的1.2.3版本,所以你现在只需要在升级你的模块后执行
Geocoder('YOUR_API_KEY').geocode(...
就可以了。
pip install --upgrade pygeocoder