谷歌地图javascript api-key(v3)是否需要在HTML中保密,检查到github如果是这样,怎么样?

Dur*_*hor 28 html google-maps github

查看Google Maps Javascript API v3开发者指南,首先解释如何获取API,然后显示在HTML页面的HEAD部分中包含该键的示例,例如

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
  html { height: 100% }
  body { height: 100%; margin: 0; padding: 0 }
  #map_canvas { height: 100% }
</style>
<script type="text/javascript"
    src="http://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=SET_TO_TRUE_OR_FALSE">
</script>
Run Code Online (Sandbox Code Playgroud)

有没有必要保持这个关键秘密,因为它被用于速率限制等?特别是我正在考虑如果我将我的工作放在像GitHub这样的公共事物上,我是否需要在提交之前删除我的API_KEY?

在谷歌API设置中配置的答案是,只有密钥所在的网页是从我控制的域名提供的,密钥才有效吗?

更新 - 正在使用: 上面链接的Google教程中的http://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=SET_TO_TRUE_OR_FALSE ".删除了api-key,一切似乎都运行正常.我对谷歌感到困惑教程告诉我,我需要使用它...

Mik*_*rey 12

V3不需要密钥,但使用密钥有一些好处.

首先请注意,此密钥与旧V2密钥不同.它是从API控制台(http://code.google.com/apis/console)生成的.您以相同的方式传递它,key在加载JS时使用参数.

拥有密钥的好处包括控制台中的使用情况报告,以及当您定期查看配额时Google与您联系的方式.您还可以通过控制台购买额外的配额.最后,如果您使用Places API,则需要使用密钥.

您可以设置允许的引荐来源,以便其他人不能使用您的密钥.

  • 我不确定这方面的'良好做法'是什么; 可能最好把它留下来?但从技术角度来看,您可以1)为您的密钥分配引用,以便它只能从特定的URL使用,2)从API控制台随时生成新密钥并关闭旧密钥.所以你有一条出路,但是如果他们检查了你的代码并且你以后关闭了密钥,那么你可能会让其他人保持高度干燥. (2认同)

小智 9

Frazell说的是正确的,当你在右边收到你的api密钥时,会出现一个"编辑允许的引用者..."链接,弹出一个选项,允许你想要显示地图的网站,如果你留下这个空白你就是允许任何,但如果你设置让我们说http://yourdomain.com只有该域可以显示地图.


Dio*_*ane 6

这里没有秘密.生成密钥时,它与您的域名相关联,因此无论如何密钥都无法在其他人的网站上运行.这是你和你的一个人.

(我同意Marc的评论)