使用 API 金鑰

將 API 呼叫限制為提供適當驗證憑證的產品,避免 Google 地圖平台產品在未經授權的情況下遭到使用。這些憑證的格式為 API 金鑰,這組專屬英數字元字串會將您的 Google 帳單帳戶與專案建立關聯,以及特定的 API 或 SDK。

本指南說明如何建立、限制及使用 Google 地圖平台的 API 金鑰。

事前準備

您的專案必須連結帳單帳戶並啟用 Maps JavaScript API,才能開始使用 Maps JavaScript API。請參閱這篇文章,進一步瞭解如何在 Cloud 控制台中進行設定。

建立 API 金鑰

API 金鑰是一組專屬 ID,用於驗證與您專案有關的使用權限及帳單處理要求。您的專案至少要有一個相關聯的 API 金鑰。

建立 API 金鑰的方法如下:

控制台

  1. 前往「Google 地圖平台」>「憑證」頁面。

    前往「憑證」頁面

  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 安全性最佳做法」。

限制 API 金鑰的方法如下:

控制台

  1. 前往「Google 地圖平台」>「憑證」頁面。

    前往「憑證」頁面

  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 傳送。