我的谷歌地图 api 密钥在 python 中不起作用,尽管它可以在 swift 中运行
Posted
技术标签:
【中文标题】我的谷歌地图 api 密钥在 python 中不起作用,尽管它可以在 swift 中运行【英文标题】:My google maps api key is not functioning in python although it works in swift 【发布时间】:2019-12-10 22:20:51 【问题描述】:我在我的 swift 项目中使用从谷歌地图获得的 API 密钥,它运行良好。当我在 python 上尝试它时,它只会给我一条错误消息。我使用的代码和收到的错误消息如下。
我已经上谷歌云平台获取api密钥: - 地方API - 映射javascript api - 地理位置API - 地理编码api
同样使用这个 api 密钥我没有成功。
gmaps = googlemaps.Client(key='api-key')
geocode_result = gmaps.geocode('1600 Amphitheatre Parkway, Mountain View, CA')
我希望获得该位置的 ID,但我收到了: “googlemaps.exceptions.ApiError: REQUEST_DENIED(此 API 项目无权使用此 API。)”
【问题讨论】:
【参考方案1】:您是否有可能将您的 ios API 密钥与 Web 服务的 API 密钥混淆了?我看到至少有两篇不同的“获取 API 密钥”文章:
一个用于 Web 服务:https://developers.google.com/maps/documentation/geocoding/get-api-key
还有一个用于 IOS:https://developers.google.com/maps/documentation/ios-sdk/get-api-key
如果是这样,解决方案是:
Python googlemaps 库需要 Web 服务 API 密钥,尝试使用 IOS API 密钥将不起作用。有时 Google 会将 API 显示为已启用,但实际上并未启用。尝试禁用并重新启用 Web 服务 API 密钥。
另一个问题是您可能还需要启用 Directions API。
【讨论】:
@kimo26 什么不起作用?新的 API 密钥还是旧的?你启用了吗?见***.com/questions/32994634/… 我点击了您之前引用的 Web 服务的链接,并启用了所有这些 api:-places api-map javascript api-Geolocation api-Geocoding api,但它仍然不起作用:"此 API 项目无权使用此 API。” @kimo26 您是否也启用了路线 API?再一次,在我看来——尽管我可能错了——你需要两个不同的 API 密钥;一个用于 Web 服务,一个用于 ios。 不确定是什么修复了它,但没问题:)以上是关于我的谷歌地图 api 密钥在 python 中不起作用,尽管它可以在 swift 中运行的主要内容,如果未能解决你的问题,请参考以下文章
查询作业不适用于外部表(链接的谷歌驱动器文件)在 python 中不起作用