使用 API 密钥

将 Google Maps Platform 产品限制为提供适当身份验证凭据的 API 调用,防止未经授权的使用。这些凭据采用 API 密钥的形式,这是一个唯一的字母数字字符串,用于将 Google 结算帐号与您的项目相关联,并且与特定 API 或 SDK 相关联。

本指南介绍了如何为 Google Maps Platform 创建、限制和使用 API 密钥。

准备工作

在开始使用 Maps JavaScript API 之前,您的项目需要与结算帐号相关联,并启用 Maps JavaScript API。有关详情,请参阅在 Cloud Console 中设置项目

创建 API 密钥

API 密钥是唯一标识符,用于对与您的项目相关联的请求进行身份验证,以便您使用相关产品和执行结算。您必须至少有一个与您的项目相关联的 API 密钥。

如需创建 API 密钥,请执行以下操作:

控制台

  1. 依次转到 Google Maps Platform > 凭据页面。

    转到“凭据”页面

  2. 凭据页面上,依次点击创建凭据 > API 密钥
    已创建的 API 密钥对话框会显示您新创建的 API 密钥。
  3. 点击关闭
    新的 API 密钥位于凭据页面的 API 密钥下。
    (请务必在实际使用之前限制 API 密钥。)

Cloud SDK

gcloud alpha services api-keys create \
    --project "PROJECT" \
    --display-name "DISPLAY_NAME"

详细了解 Google Cloud SDKCloud SDK 安装和以下命令:

限制 API 密钥

Google 强烈建议您限制 API 密钥,仅将其用于您的应用所需的 API。通过限制 API 密钥,可防止您的应用收到无保证的请求,从而提高应用安全性。如需了解详情,请参阅 API 安全性最佳做法

如需限制 API 密钥,请执行以下操作:

控制台

  1. 依次转到 Google Maps Platform > 凭据页面。

    转到“凭据”页面

  2. 选择您要设置限制的 API 密钥。系统随即会显示 API 密钥属性页面。
  3. 密钥限制下,设置以下限制:
    • 应用限制:
      1. 若要接受来自您提供的一系列网站的请求,请从应用限制列表中选择 HTTP 引荐来源网址(网站)
      2. 指定一个或多个引荐来源网站。可以使用通配符来为所有子网域授权(例如,*.google.com 接受所有以 .google.com 结尾的网站)。请按原样指定 https://http://。您必须为其他类型的引荐来源网址协议使用特殊表示法。 例如,将 file:///path/to/ 的格式设置为 __file_url__//path/to/*。 启用引荐来源之后,请务必监控您的使用情况,确保与您的预期相符。支持以下引荐来源网址协议:about://, app://, applewebdata://, asset://, chrome://, content://, file://, ftp://, ionic://, local://, ms-appx://, ms-appx-web://, ms-local-stream://, prism://, qrc://, res://, saphtmlp://
    • API 限制:
      1. 点击限制密钥
      2. 选择 API 下拉列表中选择 Maps JavaScript API。如果 Maps JavaScript API 未列出,您需要启用它。
      3. 如果您的项目使用地点库,请一并选择 Places API。同样,如果您的项目在 JavaScript API 中使用其他服务(路线服务距离矩阵服务海拔服务和/或地理编码服务),您还必须启用相应服务并在此列表中选择相应 API。
  4. 点击保存以完成更改。

Cloud SDK

列出现有密钥。

gcloud services api-keys list --project="PROJECT"

清除对现有密钥的现有限制。

gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \
    --clear-restrictions

为现有密钥设置新限制。

gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \
    --api_target="maps-backend.googleapis.com"
    --allowed-referrers="referer

详细了解 Google Cloud SDKCloud SDK 安装和以下命令:

向您的请求添加 API 密钥

您必须在每个 Maps JavaScript API 请求中添加 API 密钥。在以下示例中,将 YOUR_API_KEY 替换为您的 API 密钥。

  <script async defer src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap"></script>

使用 API 密钥的请求需要使用 HTTPS。