Google 透過限制 API 呼叫僅限提供正確驗證憑證的使用者,藉此保護 Google Maps Platform 產品免遭未經授權的使用。上述憑證採用 API 金鑰的形式,API 金鑰是不重複的英數字元字串,可將您的 Cloud Billing 帳戶與專案建立關聯,以及與特定 API 或 SDK 建立關聯。
本指南說明如何建立、限制及使用 Google Maps Platform 的 API 金鑰。
事前準備
您必須擁有已連結帳單帳戶的專案,並啟用 Distance Matrix API (舊版),才能開始使用 Distance Matrix API (舊版)。請參閱這篇文章,進一步瞭解如何在 Cloud 控制台完成相關設定。
建立 API 金鑰
API 金鑰是一組專屬 ID,用於驗證與您專案有關的使用權限及帳單處理要求。您的專案至少要有一個相關聯的 API 金鑰。 如要建立新金鑰,或將 API/SDK 新增至現有金鑰,請按照下列操作說明進行。
控制台
-
前往「Google Maps Platform」>「金鑰和憑證」頁面。
- 如果出現系統提示,請選取您的專案。
-
請執行下列任一步驟:
-
建立新金鑰:
- 依序按一下 [Create credentials] (建立憑證) > [API key] (API 金鑰)。
- 在「建立 API 金鑰」面板中,開啟「選取 API 限制」清單。
- 清除這組金鑰不需要的所有 API,並確認 Distance Matrix API 仍處於選取狀態。
- 按一下「建立」,面板會顯示新的 API 金鑰。
-
使用現有金鑰:
- 按一下金鑰名稱。
- 在「選取 API 限制」清單中,選取「Distance Matrix API」。
- 按一下 [儲存]。
在這裡選取 API 並不會啟用該 API。確認 Distance Matrix API 已在 API 程式庫頁面啟用。
-
- 如要日後查看金鑰字串,請前往「金鑰和憑證」頁面,然後按一下金鑰的「顯示金鑰」。
如果控制台與這些步驟不同,請參閱 Google Cloud 說明文件中的「建立 API 金鑰」和「新增 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 不是金鑰字串或顯示名稱。如要找出這個值,請執行
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 安全性最佳做法」。
限制 API 金鑰的方法如下:
控制台
-
前往「Google Maps Platform」>「金鑰和憑證」頁面。
- 選取要設定限制的 API 金鑰,畫面隨即顯示 API 金鑰屬性頁面。
- 在「Key restrictions」(金鑰限制) 下方,設定下列限制:
- 應用程式限制:
- 如要接受由您提供的網路伺服器 IP 位址清單中所列的要求,請選取「應用程式限制」底下的「IP 位址」。您可以指定一或多個 IPv4 或 IPv6 位址,或是採 CIDR 標記法的子網路。IP 位址必須與 Google 地圖平台伺服器監控的來源位址相符。如果您使用網路位址轉譯 (NAT),這個位址通常會對應到電腦的「公開」IP 位址。
- API 限制:
- 在「選取 API 限制」中,確認已選取「Distance Matrix API」。如果選單未列出該 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 傳送。