Google 仅允许提供正确身份验证凭据的用户调用 API,这样可防止 Google Maps Platform 产品遭到未经授权的使用。这些凭据采用 API 密钥的形式;API 密钥是具有唯一性的字母数字字符串,可将您的 Cloud Billing 账号与您的项目以及特定 API 或 SDK 相关联。
本指南介绍了如何为 Google Maps Platform 创建、限制和使用 API 密钥。
准备工作
在开始使用 Distance Matrix API(旧版)之前,请确保您的项目已关联结算账号并且启用了 Distance Matrix API(旧版)。如需了解详情,请参阅在 Cloud 控制台中进行设置。
创建 API 密钥
API 密钥是唯一标识符,用于对与您的项目相关联的请求进行身份验证,以便您使用相关产品和执行结算。您必须至少有一个与您项目相关联的 API 密钥。 如需创建新密钥或向现有密钥添加 API 或 SDK,请按照以下说明操作。
控制台
-
前往 Google Maps Platform > 密钥和凭证页面。
- 如果出现提示,请选择您的项目。
-
执行以下其中一项操作:
-
创建新密钥:
- 点击创建凭据 > API 密钥。
- 在创建 API 密钥面板中,打开选择 API 限制列表。
- 清除此密钥不需要的所有 API,并确保 Distance Matrix API 保持选中状态。
- 点击创建。该面板会显示您的新 API 密钥。
-
使用现有密钥:
- 点击密钥的名称。
- 在选择 API 限制列表中,选择 Distance Matrix API。
- 点击保存。
在此处选择 API 并不会启用它。确保已在 API 库页面上启用 Distance Matrix API。
-
- 如需稍后查看密钥字符串,请前往密钥和凭证页面,然后点击相应密钥的显示密钥。
gcloud
在以下命令中,将 PROJECT_ID 替换为您的项目 ID。
-
创建新密钥:运行以下命令,并将 DISPLAY_NAME 替换为密钥的名称。
gcloud services api-keys create \ --project="PROJECT_ID" \ --display-name="DISPLAY_NAME" \ --api-target=service=distance-matrix-backend.googleapis.com
详细了解 Google Cloud SDK、Cloud SDK 安装和以下命令:
-
使用现有密钥:运行以下命令,并将 KEY_ID 替换为密钥的 ID。
--append标志会保留密钥已允许的 API。如果不使用此参数,该命令会替换这些标签。gcloud services api-keys update KEY_ID \ --project="PROJECT_ID" \ --append \ --api-target=service=distance-matrix-backend.googleapis.com
详细了解 Google Cloud SDK、Cloud SDK 安装和以下命令:
键 ID 不是键字符串或显示名称。如需查找该 ID,请运行
gcloud services api-keys list --project="PROJECT_ID"。 该 ID 是name字段的最后一部分:projects/PROJECT_NUMBER/locations/global/keys/KEY_ID。
如需查看密钥字符串,请运行 gcloud services api-keys get-key-string KEY_ID
--project="PROJECT_ID"。
限制 API 密钥
Google 强烈建议您限制 API 密钥,仅将其用于您的应用所需要的 API。限制 API 密钥可防止您的应用收到无正当理由的请求,从而提高应用安全性。您需要承担因滥用不受限制的 API 密钥而产生的费用。 。如需了解详情,请参阅 API 安全性最佳实践。
如需限制 API 密钥,请执行以下操作:
控制台
-
前往 Google Maps Platform > 密钥和凭证页面。
- 选择您要设置限制的 API 密钥。系统随即会显示 API 密钥属性页面。
- 在密钥限制下,设置以下限制:
- 应用限制:
- 若要接受来自您提供的一系列 Web 服务器 IP 地址的请求,请在应用限制下选择 IP 地址。 指定一个或多个 IPv4 或 IPv6 地址,或采用 CIDR 表示法的子网。IP 地址必须与 Google Maps Platform 服务器观测到的来源地址一致。如果您使用网络地址转换 (NAT),则该地址通常对应于您计算机的公共 IP 地址。
- API 限制:
- 在选择 API 限制中,确保已选择 Distance Matrix API。如果未列出,您需要启用它。
- 点击保存以完成更改。
gcloud
运行以下命令。将 KEY_ID 替换为密钥的 ID,并将 PROJECT_ID 替换为您的项目 ID。如需查找密钥 ID,请运行 gcloud services api-keys list --project="PROJECT_ID"。此 ID 是 name 字段的最后一部分。
gcloud services api-keys update KEY_ID \ --project="PROJECT_ID" \ --append \ --api-target=service=distance-matrix-backend.googleapis.com \ --allowed-ips="IP_ADDRESS"
详细了解 Google Cloud SDK、Cloud SDK 安装和以下命令:
向您的请求添加 API 密钥
您必须在每个 Distance Matrix API(旧版)请求中添加 API 密钥。在以下示例中,将 YOUR_API_KEY 替换为您的 API 密钥:
https://maps.googleapis.com/maps/api/distancematrix/json?origins=Seattle&destinations=San+Francisco&key=YOUR_API_KEY
对于使用 API 密钥的请求,您必须使用 HTTPS。