我的谷歌地图 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 中运行的主要内容,如果未能解决你的问题,请参考以下文章

Android中的谷歌地图签名api密钥错误

查询作业不适用于外部表(链接的谷歌驱动器文件)在 python 中不起作用

尽管有良好的API密钥,Google地图仍无法在我的网站上运行[关闭]

使用特定城市的谷歌地图 API 获取自动完成的地址

颤动我的谷歌地图在发布版本上不起作用或显示

用于 Flutter iOS Swift 设置的谷歌地图