Archive
使用 API 密钥

使用 API 密钥

2024-11-26 只有提供正确身份验证凭据的用户才能调用 API,这样可防止 Google Maps Platform 产品遭到未经授权的使用。这些凭据采用 API 密钥的形式;API 密钥是具有唯一性的字母数字字符串,可将您的 Google 结算账号与您的项目以及特定 API 或 SDK 相关联。 本指南介绍了如

Related articles

Add your Desktop and Documents files to iCloud Drive Zoom Cloud Recordings How to Install ExpressVPN to Your Asus Router Step By Step How to setup NordVPN on Android

只有提供正确身份验证凭据的用户才能调用 API,这样可防止 Google Maps Platform 产品遭到未经授权的使用。这些凭据采用 API 密钥的形式;API 密钥是具有唯一性的字母数字字符串,可将您的 Google 结算账号与您的项目以及特定 API 或 SDK 相关联。

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

准备工作

在开始使用 Maps JavaScript API 之前,请确保您的项目已关联结算账号并且启用了 Maps JavaScript API。如需了解详情,请参阅在 Cloud 控制台中进行设置。

创建 API 密钥

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

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

控制台

  1. 前往 Google Maps Platform > 凭据页面。

    前往“凭据”页面

  2. 在凭据页面上,依次点击创建凭据 > API 密钥。

    已创建的 API 密钥对话框会显示您新创建的 API 密钥。
  3. 点击关闭。
    新的 API 密钥即会列在凭据页面的 API 密钥下。
    (在生产环境中使用 API 密钥之前,请务必为 API 密钥设置限制。)

Cloud SDK

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

不妨详细了解 Google Cloud SDK、Cloud SDK 安装和以下命令:

限制 API 密钥

Google 强烈建议您限制 API 密钥,仅将其用于您的应用所需要的 API。限制 API 密钥可防止您的应用收到无正当理由的请求,从而提高应用安全性。如需了解详情,请参阅 API 安全性最佳实践。

在 Cloud 控制台中限制 API 密钥时,应用限制会覆盖在 API 限制下启用的任何 API。请遵循最佳实践,为每个应用以及提供该应用的每个平台创建单独的 API 密钥。

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

控制台

  1. 前往 Google Maps Platform > 凭据页面。

    前往“凭据”页面

  2. 选择您要设置限制的 API 密钥。系统随即会显示 API 密钥属性页面。
  3. 在密钥限制下,设置以下限制:
    • 应用限制:
      1. 若要接受来自您提供的一系列网站的请求,请从应用限制列表中选择 HTTP 引荐来源网址(网站)。
      2. 指定一个或多个引荐来源网站。您可以使用通配符字符来为所有子网域授权(例如,指定 https://*.google.com 表示接受所有以 .google.com 结尾的网站,前提是这些网站通过 HTTPS 进行访问)。请注意,如果指定 www.domain.com,它将充当通配符 www.domain.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=""

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

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

为现有密钥设置新限制。

gcloud alpha services api-keys update "projects//keys/" \
    --api-target="maps-backend.googleapis.com"
    --allowed-referrers=""

不妨详细了解 Google Cloud SDK、Cloud SDK 安装和以下命令:

向您的请求添加 API 密钥

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

<script>
  (g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({
    key: "YOUR_API_KEY",
    v: "weekly",
    // Use the 'v' parameter to indicate the version to use (weekly, beta, alpha, etc.).
    // Add other bootstrap parameters as needed, using camel case.
  });
</script>