超出了地理编码的使用限制 API
Exceeded usage limits for Geocoding API
访问以下内容时link:
http://maps.googleapis.com/maps/api/geocode/json
我收到回复:
{
"error_message" : "You have exceeded your daily request quota for this API.",
"results" : [],
"status" : "OVER_QUERY_LIMIT"
}
在 Google 开发者控制台中只列出了两个 API - 都报告他们在使用限制之下。
地理编码服务是否包含在其中任何一个中?如果没有,有没有办法检查使用情况或付费升级?
Maps API v3 请求数
每日配额:25k
28 天总计:2.37k
静态地图 API 请求数
每日配额:25k
28 天总计:45.21k
提前致谢,
乔恩
感谢 luke_mclachlan 的修复。
URL 缺少 API 键的参数,例如
https://maps.googleapis.com/maps/api/geocode/json?key=AbCdEfGhIjKlMnOpQrStUvWxYz&address=Dallas&sensor=true
让我们感到困惑的是,如果没有 API 键,我们似乎达到了一个下限 2:30am,这在测试中没有出现。
可以在 Google 开发者控制台中找到使用的 API 密钥:
https://console.developers.google.com/project
单击您的项目名称
然后查看左侧菜单并单击 "APIs & auth" 下的 "Credentials"
值 "API KEY" 对于所有用法都相同
乔恩
缺少参数密钥。
https://maps.googleapis.com/maps/api/geocode/json?key=AbCdEfGhIjKlMnOpQrStUvWxYz&address=Dallas&sensor=true
key=AbCdEfGhIjKlMnOpQrStUvWxYz
需要补充。
不确定这是否与缺少关键查询参数有关。当 &language=GB®ion=UK
被我的应用程序替换为查询 &language=GB®ion=uk
时,我看到了相同的误导性 API 响应。这是基于服务器的查询,API 访问由存储在 Google 中的 API 凭据授权。 API returns:
"You have exceeded your daily request quota for this API. We recommend registering for a key at the Google Developers Console"
响应似乎是格式错误的查询字符串的通用响应,而不是其他任何东西,key
参数或其他。
在我的例子中,我在 ?address=#202, Hollywood park
中传递了“#”字符。我从地址 api 中删除了#。可能是 google 的 api 打破了空格字符,尤其是 #
ini_set('allow_url_fopen', 'on');
//ini_set('allow_url_fopen', '1');
$address=urlencode($address);
$address = str_replace(" ", "+", $address);
$json = file_get_contents("https://maps.google.com/maps/api/geocode/json?key=AIzaSyDq-gfJDoytQE6gj0iHXEy4IZQhgLS70-8&address=$address&sensor=true");
$json = json_decode($json);
$lat = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lat'};
$lng = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lng'};
访问以下内容时link: http://maps.googleapis.com/maps/api/geocode/json
我收到回复:
{
"error_message" : "You have exceeded your daily request quota for this API.",
"results" : [],
"status" : "OVER_QUERY_LIMIT"
}
在 Google 开发者控制台中只列出了两个 API - 都报告他们在使用限制之下。
地理编码服务是否包含在其中任何一个中?如果没有,有没有办法检查使用情况或付费升级?
Maps API v3 请求数 每日配额:25k 28 天总计:2.37k
静态地图 API 请求数 每日配额:25k 28 天总计:45.21k
提前致谢, 乔恩
感谢 luke_mclachlan 的修复。
URL 缺少 API 键的参数,例如
https://maps.googleapis.com/maps/api/geocode/json?key=AbCdEfGhIjKlMnOpQrStUvWxYz&address=Dallas&sensor=true
让我们感到困惑的是,如果没有 API 键,我们似乎达到了一个下限 2:30am,这在测试中没有出现。
可以在 Google 开发者控制台中找到使用的 API 密钥: https://console.developers.google.com/project
单击您的项目名称 然后查看左侧菜单并单击 "APIs & auth" 下的 "Credentials" 值 "API KEY" 对于所有用法都相同
乔恩
缺少参数密钥。
https://maps.googleapis.com/maps/api/geocode/json?key=AbCdEfGhIjKlMnOpQrStUvWxYz&address=Dallas&sensor=true
key=AbCdEfGhIjKlMnOpQrStUvWxYz
需要补充。
不确定这是否与缺少关键查询参数有关。当 &language=GB®ion=UK
被我的应用程序替换为查询 &language=GB®ion=uk
时,我看到了相同的误导性 API 响应。这是基于服务器的查询,API 访问由存储在 Google 中的 API 凭据授权。 API returns:
"You have exceeded your daily request quota for this API. We recommend registering for a key at the Google Developers Console"
响应似乎是格式错误的查询字符串的通用响应,而不是其他任何东西,key
参数或其他。
在我的例子中,我在 ?address=#202, Hollywood park
中传递了“#”字符。我从地址 api 中删除了#。可能是 google 的 api 打破了空格字符,尤其是 #
ini_set('allow_url_fopen', 'on');
//ini_set('allow_url_fopen', '1');
$address=urlencode($address);
$address = str_replace(" ", "+", $address);
$json = file_get_contents("https://maps.google.com/maps/api/geocode/json?key=AIzaSyDq-gfJDoytQE6gj0iHXEy4IZQhgLS70-8&address=$address&sensor=true");
$json = json_decode($json);
$lat = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lat'};
$lng = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lng'};