所谓API密钥(API Key),其实就是一个字符串,在使用script标签导入API类库的时候作为请求参数传给谷歌的地图服务器,形式就是:
<script src="http://ditu.google.com/maps?file=api&v=2&key=你注册的API密钥" type="text/javascript"></script>
使用谷歌地图API的第一步就是要注册一个API密钥,谷歌的API使用条款 对这个密钥的用途有很正式的说明,其实总结起来也很简单:
1、谷歌地图API提供的服务是免费的,对于通过API正常使用谷歌地图的网站基本没有任何限制;
2、说“基本”没有限制的原因是,谷歌对每个API密钥对应的网站所作的地理编码/地址解析请求次数有限制,每天(24小时)的请求次数不能超过15000次;
3、不能使用谷歌地图从事任何非法的行为,否则谷歌应该能够通过这个密钥阻止你的网站使用谷歌地图;
更简单的说,谷歌使用这个密钥保证能够对所有API用户/网站进行区分,方便必要的时候对“超常规”用户进行阻拦。
对于地址解析的次数限制,一般来说不会有什么影响,这里主要说API密钥,所以以后有时间可以再详细说说地址解析相关的东东。
对于API密钥,还有几点需要记下来:
1、如果使用API的页面还没有发布,只是在本地调试,可以不用密钥,随便用个字符串代替就可以了;
2、API密钥只对网站目录或者域有效,所以,虽然你是使用同一个谷歌帐号登录后注册的密钥,但是,对不同域的网页,需要用这些域分别注册不同的密钥,对于同一个域里的页面,直接拿你网站的域名注册一个,在这个域里的所有页面就可以通用这个密钥了。
还有一个关于API密钥的实际问题:
在论坛里还有人问过,同一个页面需要支持不同的域名,最简单的就是公司有一个cn域名,也有一个com域名,这怎么办?
其实,对于这种问题,可以提前先注册好不同域名对应的密钥,存在你的JS变量里面,页面加载时通过window.location得到当前请求页面的域名,通过这个域名在找到对应的密钥,然后使用script动态加载的方法加载地图API,用代码描述就是:
//事先已经注册好的密钥
var keyMapping = {host1:key1, host2:key2};
//实际请求页面的域名
var requestHost = window.location.hostname;
//找到需要的密钥
var key = keyMapping[requestHost];
//构造加载API的script url
var apiUrl = "http://ditu.google.com/maps?file=api&v=2&key=" + key;
//使用script动态加载的方法加载地图API
var scriptTag = document.createElement('script');
scriptTag.setAttribute('type', 'text/javascript');
scriptTag.setAttribute('src', apiUrl);
document.getElementsByTagName('head')[0].appendChild(scriptTag);
分享到:
相关推荐
每次打开Chromium,地址栏下方就会提示“缺少Google API 密钥,因此Chromium 的部分功能将无法使用”。 该文件可以修复此问题 使用Chromium,比使用chrome更简洁、快速。
API密钥自动识别方法在源代码中的应用 摘要:API密钥的泄露可能会导致相关服务被恶意利用,从而造成难以预估的经济损失。因此,通过对样本进行基本特征统计和源代码静态结构分析,提取出不同项目代码中的API密钥...
Go语言以其高效、简洁和安全性著称,因此,针对这个需求,出现了一款名为"Go-管理API密钥密码证件的Go工具包"的库。这款工具包旨在帮助开发者在Go项目中更安全、方便地管理这些敏感数据。 首先,我们要理解API密钥...
然而,有时我们可能需要自己实现API密钥的管理,以满足特定的需求或者避免引入额外的依赖。本教程将深入讲解如何在不使用Devise的情况下,在Ruby onRails中自定义API密钥认证机制。 首先,我们需要创建一个`api_...
每个API密钥都是独一无二的,用于确保只有授权的应用程序可以使用API。在运行这个项目之前,你需要在提供面部识别服务的平台创建一个账户,并生成自己的API密钥。然后,这个密钥需要被安全地放置到指定的文件或配置...
解决你在Android地图API密钥的申请时所遇到的问题
本文将深入探讨如何使用自定义API密钥进行身份验证,来保护你的ASP.NET Core Web API。 首先,我们需要了解API密钥的概念。API密钥是一种简单的身份验证机制,用于识别调用API的客户端。它是一个唯一的字符串,由...
AspNetCore.Authentication.ApiKey 易于使用,重量轻,适用于ASP.NET Core的Microsoft样式API密钥身份验证实现。 可以对其进行设置,使其可以接受Header,Authorization Header,QueryParams或HeaderOrQueryParams中...
精心策划的应用程序和工具列表,不仅使用新的ChatGPT API,还允许用户配置自己的API密钥,允许免费和按需使用自己的配额.zip
api-key-生成器使用 Python 的简单 API 密钥生成器开发环境操作系统:Windows 8.1 64 位工具: Python 2.7.9 MongoDB 3.0.2(从下载 64 位安装程序) pymongo ( pip install pymongo ) 参数解析吉特用法您可以将此...
AlphaVantageAPI Python 3.7中的自以为是的AlphaVantage API包装器要访问AlphaVantage,需要一个免费的API密钥,该密钥可以在上找到。描述该API旨在简化零售交易者和投资者获取免费财务数据的过程。 它只需要Pandas...
Plex 请求的一页版本,仅将 PushBullet 通知发送到 API 密钥。 只需使用您自己的 PushBullet API 密钥编辑第 120 行即可完成! 当人们请求电影时,您会收到包含电影名称和年份的通知,仅此而已。 它确实有硬编码的...
API 密钥生成器 使用 SHA1 加密和当前时间,这个 gem 生成一个对 API 密钥有用的随机字符串。 字符串的长度可以设置为最多 39 个字符的属性。 这是我创造宝石的尝试。 安装 添加到您的 Gemfile 并运行bundle命令来...
1. **API密钥获取**:在使用YouTube API之前,你需要在Google Developers Console上创建项目,并启用YouTube Data API,生成API密钥。这个密钥是连接你的应用和YouTube API的桥梁,用于验证你的请求。 2. **搜索...
从给定的文件信息中,我们可以提取出关于使用CryptoAPI生成密钥的详细知识点,主要集中在以下几个方面: ### 1. CryptoAPI的概念及其重要性 CryptoAPI(加密应用程序接口)是由微软开发的一套应用程序接口,专门...
“ API密钥适用于人们” 该模块是一个生成器,验证器和转换器,可以将UUID转换为人类可读的Base32-Crockford编码的API密钥。 变成这样: 9b3ac4c9-0228-4e42-a244-927059b1a5ea 到这个: KCXC9JD-08M4WGH-M9294...
生成API密钥 generate-api-key是用于生成随机API密钥/访问令牌的库。目录变更记录执照 安装使用NPM: $ npm install generate-api-key 使用纱线: $ yarn add generate-api-key 用法generate-api-key库可以通过利用...
在IT项目开发中,API密钥扮演着至关重要的角色,特别是在Web应用和移动应用的集成服务中。API(Application Programming Interface)是不同软件系统之间进行交互的桥梁,允许应用程序访问和利用其他服务的功能或数据...
Django REST框架API密钥 API密钥权限。 介绍 Django REST Framework API Key是一个库,用于允许服务器端客户端安全地使用您的API。 这些客户端通常是第三方后端和服务(即计算机),它们没有用户帐户,但仍需要以...