直接进入地址栏时,您必须使用 API 密钥来验证对 Google Maps Platform API 的每个请求错误

Posted

技术标签:

【中文标题】直接进入地址栏时,您必须使用 API 密钥来验证对 Google Maps Platform API 的每个请求错误【英文标题】:You must use an API key to authenticate each request to Google Maps Platform APIs error when directly entering into address bar 【发布时间】:2019-07-13 22:48:15 【问题描述】:

我收到这样的错误:

    
   "error_message" : "This API project is not authorized to use this API.",
   "results" : [],
   "status" : "REQUEST_DENIED"

每当我运行它时:https://maps.googleapis.com/maps/api/geocode/json?address=Winnetka&key=AIzaSyCKyVbBzwtgkyuut7P5mxK9vcOWMygCfp0

在我关注的示例视频中,他得到如下结果:

【问题讨论】:

【参考方案1】:

在我的情况下,我在地址链接input=City Clinical # 89中有#,所以我不得不删除它

【讨论】:

只是为了澄清。我正在使用 API 密钥,但由于地址中有 #,我仍然收到错误消息。删除# 后,正如这个答案所暗示的,我没有问题。 你能解释一下,为什么#导致这个问题吗?【参考方案2】:

您需要一个 API 密钥。否则将无法正常工作。

要获得 API 密钥,您必须访问此网页 https://cloud.google.com/maps-platform/#get-started 并选择您需要的产品。还要选择或创建一个项目,最后您必须设置一个计费帐户。不幸的是,据我所知,它不是免费的。

【讨论】:

【参考方案3】:

发布值如下:

  String str_origin = "origin=" + origin.latitude + "," + origin.longitude;
    // Destination of route
    String str_dest = "destination=" + dest.latitude + "," + dest.longitude;

    // Sensor enabled
    String sensor = "sensor=true";
    String mode = "mode=driving";
    String key = "key="+getResources().getString(R.string.google_maps_key);
    // Building the parameters to the web service
    String parameters = str_origin + "&" + str_dest + "&" + sensor + "&" + mode + "&" + key;

    // Output format
    String output = "json";

    // Building the url to the web service
    String url = "https://maps.googleapis.com/maps/api/directions/" + output + "?" + parameters;

【讨论】:

【参考方案4】:

阅读Required parameters 上的 Google 开发者页面说明,可能会有所帮助。

【讨论】:

我按照文档中的说明做了,但还是不行。请查看我的编辑。 @Ibanez1408 您可能需要启用一些 API,请参阅答案 here。另外,尽量不要把你的 API 密钥放在这里【参考方案5】:

谷歌声明

“自 2018 年 6 月 11 日起,您必须使用信用卡启用计费功能,并拥有适用于所有项目的有效 API 密钥。”

https://cloud.google.com/maps-platform/user-guide/?hl=en

“您必须拥有有效的 API 密钥和计费帐户才能访问我们的 API。启用计费功能后,您每月将获得 200 美元的地图、路线或地点免费使用费。”

https://cloud.google.com/maps-platform/user-guide/account-changes/?hl=en

【讨论】:

以上是关于直接进入地址栏时,您必须使用 API 密钥来验证对 Google Maps Platform API 的每个请求错误的主要内容,如果未能解决你的问题,请参考以下文章

在 Kong API 网关中使用 .jks 密钥对 JWT 令牌进行身份验证

如何使用 Tikkie API 进行身份验证?

在 JAX-RS 中使用 API 密钥进行身份验证

ASP.NET Web API 授权和身份验证

工具系列 | HTTP API 身份验证和授权

Bitstamp - C# 中的新身份验证 - 签名