2

更新:为了给出一个更明确的问题。如何将 Google 控制台 API 密钥与 Google 地图地理编码 Web 服务 API 一起使用?目前,当我指定密钥时请求被拒绝,但即使它失败了,它也会记录在 Google Console API 站点的报告部分中。 在此处输入图像描述


原始问题

我有一个现有的应用程序,它已被修改为在输入地址时开始地理编码(用于在谷歌地图上的应用程序中使用)。对此的预期数量预计在免费产品的限制范围内,目前不需要密钥。但是现在我必须对所有现有地址进行地理编码。我有一个小型 Windows 应用程序 (C#),它将一次循环遍历它们,请求对它们进行地理编码(通过https://maps.googleapis.com/maps/api/geocode/json)并将结果存储在数据库中. 但是我一直遇到查询限制。为了帮助缓解这种情况,我在 Google API 控制台 ( https://code.google.com/apis/console/ ) 上设置了一个帐户,这样我就可以超出限制,只需为超额付费。

问题是为了使用这种计费方式,我必须为请求提供一个控制台 API 密钥,但每次我这样做时,我都会收到一个状态为REQUEST_DENIED.

我的网址看起来像这样 https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA+94043&sensor=false&key=123abc

如果我取下钥匙,它可以正常工作,但它会失败。现在,我在环顾四周时看到了其他类似的问题,但找不到该问题的答案。

我尝试了各种替代域,包括 maps.google.com、maps.googleapis.com 和 maps-api-ssl.google.com,据我所知,它们似乎都有同样的问题。

到目前为止,这是我能够找到的:

  • 该服务在 Google 控制台 API 的站点中列为 Google Maps API v3(v2 有一个单独的条目),所以我不认为密钥在 v3 中不再是强制性的问题。
  • 我知道请求正在通过并针对此 API 密钥正确记录,因为每次尝试失败时,Google API 控制台的“报告”选项卡上的请求计数都会增加一个。
  • *我知道不通过网页访问它不是问题,因为控制台 API 明确允许您生成供服务器/服务使用的密钥,并且您可以通过 IP 地址限制对它们的访问,而不是 URL Referrer。
  • *我还验证了此页面上概述的参数语法,以及其他用法

*这些对于控制台 API 系统似乎是通用的,但在用于 Google Maps API 时没有提及这些做法的例外情况。

我什至试图联系谷歌,但显然他们没有通过电话提供支持(我希望今天能完成,但看起来不太可能)。

4

3 回答 3

0

我遇到了同样的问题,并通过在 Google apis 仪表板上启用地理编码 API 来解决它。即使我使用的是 Google Maps JavaScript API v3,它仍然需要我启用 Geocoding API。在启用任何 API 访问之前,请确保您了解 google 的配额限制和计费系统。希望这可以帮助!

于 2014-05-29T14:28:45.837 回答
0

似乎不再需要密钥,因为它不会增加免费地理编码的限制。

它是 v2 的遗留物,但地理编码 API v2 已于去年 3 月 8 日完全弃用。

如果您需要使用超过免费限制,我认为您必须获得企业许可证。

问候,爱德华多。

于 2013-04-22T14:55:40.420 回答
-1

这个答案迟到了,但以防万一其他人有问题。首先需要设置帐单,就像 Dylan 说的那样,您还必须启用地理编码 API(这让我很着迷)。至少我为显示多个商店位置地址的位置应用程序做了。

于 2019-06-16T16:12:25.923 回答