google-maps - 带有 cURL 的 Google Geocoding API 请求被拒绝。我有一个与启用计费的项目相关联的 API key

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

我正在尝试使用以下内容访问 Google 的地理编码 API:

curl https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=XXX

我得到以下信息:

{"error_message": You must use an API key to authenticate each request to Google Maps Platform APIs. For additional information, please refer to http://g.co/dev/maps-no-account", "results": [], "status": "REQUEST_DENIED"}



我传递的 key 与启用了地理编码和地点 API 的项目相关联,并且该项目也启用了计费。

最佳答案

我认为 shell 会干扰您查询中的某些字符。如果您使用 bash 或类似的 shell,我可以用单引号或双引号将查询地址括起来。例如:

curl 'https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=XXX'
{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "1600",
               "short_name" : "1600",
               "types" : [ "street_number" ]
...

为方便起见,您可以将 key 存储在 shell 环境变量中,并为 shell 使用双引号以在查询中扩展它。这是我所做的:

export GOOGLE_MAPS_API_KEY=XXX
curl "https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=${GOOGLE_MAPS_API_KEY}"

关于google-maps - 带有 cURL 的 Google Geocoding API 请求被拒绝。我有一个与启用计费的项目相关联的 API key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56861536/

相关文章:

javascript - 检查多边形是否在视口(viewport)中

javascript - 谷歌地图显示为灰色,但在调整浏览器大小时有效

curl - 通过 FTP 下载文件时遇到问题。 (wget, curl, aria2c)

iOS 谷歌地图 - 如何知道用户何时开始或停止拖动 map

ios - 尝试复制 GMSPlacesClient : autoCompleteQuery function to populate a UITableView manually

javascript - Node.js - 如何检查请求数据?

c++ - 在C++中使用curl获取一段时间后更改的页面

javascript - 无法让多页jquery mobile与谷歌地图一起使用

javascript - 嵌入的 Google map 未显示

ruby 地理编码器 : database query vs lookup