【问题标题】:Google maps geocoding not allowing any requests谷歌地图地理编码不允许任何请求
【发布时间】:2014-04-03 15:04:33
【问题描述】:

我在使用 Maps api 时遇到严重问题。

我正在向 Geocoder 发出 PHP curl 请求

curl_setopt($curl, CURLOPT_URL, 'https://maps.googleapis.com/maps/api/geocode/json?key=my-key-goes-here&address='.urlencode($address).'&sensor=false&region='.Session::Instance()->get('country'));

去年左右一切正常。从昨天开始,我收到了这个错误:

{ "error_message" : "This site or IP is not authorized to use this API key.", "results" : [], "status" : "REQUEST_DENIED" }

对于我的Key for server applications,我有Any IP allowed,所以我不明白此错误消息的原因。即使我更改它并允许我的服务器 IP 地址,我仍然会收到相同的错误消息。

当我重新生成密钥时,我收到错误消息“提供的 API 密钥已过期。”。刚刚生成,怎么就过期了?

此外,当我查看我的请求时,它说我使用了 0%。我已在我的帐户中设置了结算信息,但从未为我的请求付费。

我一无所知。任何建议将不胜感激。 我想到的唯一想法是我的服务器已被禁止,因为我设置了计费,所以我不明白:(

当我从请求中删除 key 时,我收到“您已超出此 API 的每日请求配额”的消息。如何添加计费选项,以便我的服务继续工作并且我可以为额外的请求付费?

谢谢

【问题讨论】:

    标签: google-geocoding-api


    【解决方案1】:

    基本的 Google Maps API 服务是免费的,不需要密钥。而非描述性错误消息“此站点或 IP 无权使用此 API 密钥”是有人在服务需要时使用密钥时看到的。

    如果您的配额用完了,您可以获得一个企业帐户。见:https://developers.google.com/maps/licensing

    但是,您应该能够优化您的通话次数。 Google 每天 2500 次通话的免费配额是基于每个 IP 地址的。如果您从 PHP 进行调用,那么所有调用都来自您的服务器!尝试将 API 调用移动到客户端代码(例如 JavaScript)中。

    Google 发布了一篇关于如何优化服务器与客户端策略的非常好的文章。见:https://developers.google.com/maps/articles/geocodestrat

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-11
    • 1970-01-01
    相关资源
    最近更新 更多