尝试通过控制台API密钥使用Google地图地理编码服务时拒绝访问

时间:2013-04-15 18:02:48

标签: google-maps google-maps-api-3 google-geocoding-api

更新:努力提出更明确的问题。如何将Google Console API密钥与Google Maps Geocoding Web Service API一起使用?当请求返回被拒绝时,当我指定密钥时,即使它失败,它也会记录在Google Console API站点的报告部分中。 enter image description here


原始问题

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

问题是为了利用这种计费方式,我必须为请求提供一个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控制台的“报告”标签上都会增加一个。
  • *我知道它不是通过网页访问的问题,因为Console API明确允许您生成供服务器/服务使用的密钥,您可以通过IP地址限制访问它们,而不是URL Referrer。 / LI>
  • *我还验证了this page上概述的参数语法,以及其他用法

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

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

3 个答案:

答案 0 :(得分:0)

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

这是v2的遗产,但地理编码API v2在去年3月8日完全弃用。

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

此致 爱德华。

答案 1 :(得分:0)

我遇到了同样的问题,并通过在Google apis信息中心上启用地理编码API解决了这个问题。即使我使用的是Google Maps JavaScript API v3,它仍然需要我启用地理编码API。在启用任何API访问之前,请确保您了解Google的配额限制和结算系统。希望这有帮助!

答案 2 :(得分:-1)

晚于此答案,但以防万一其他人遇到问题。首先需要设置帐单,就像Dylan所说的那样,您还必须启用Geocoding API(这让我)。至少我为显示多个商店位置地址的位置应用所做的。