如何使用Google API密钥

时间:2017-03-13 18:56:57

标签: android api google-maps google-api google-distancematrix-api

首先:Everythig正在工作。我只是希望你的意见有所改进。

我目前正在开发Android应用程序,需要访问不同的Google API。所以我创建了一个API密钥,并提出了应用程序重新设置。我在google_maps_api.xml中使用该API密钥来验证我的应用程序的Google Maps API。

然后我需要Google Directions API。据我所知,访问它的唯一方法是通过HTTP请求。 HTTP请求需要API密钥。现在的问题是,我的API密钥是应用程序限制的。这意味着,它不适用于HTTP请求。我创建了第二个API密钥,并删除了目前解决该问题的限制。但在我看来,这不是一个好的解决方案。

我还从2016年发现了this SO Question,它没有答案,但面临同样的问题。

1 个答案:

答案 0 :(得分:2)

API密钥不限于特定的API。单个API密钥可用于访问所有可用的Google API。这就是您在创建新密钥时看到所有这些受限选项的原因。并非所有API都支持Android和IOS限制。例如, Google地图有一个可用于Android和IOS的库。这意味着您可以创建一个密钥并将其限制为Android并在Android库中指定密钥,并通过创建另一个密钥并仅限制IOS来对IOS执行相同的操作。

但是, Google Maps Distance Matrix Google Maps Directions 等API不支持Android和IOS限制。这基本上是因为这两个API可以处理HTTP请求。因此,为了添加限制,您必须使用PHP或Java创建自己的服务器,并将API密钥存储在服务器上。然后,您的客户会向您的服务器发送请求以获取Google API。由于密钥仅限于您的服务器IP,因此除了您的服务器之外,任何人都无法使用Google API。

限制密钥非常重要,因为有人可以使用您的密钥访问项目中所有已激活的API。

有关API支持哪些限制的更多信息,请访问此页面: https://developers.google.com/maps/faq#restriction