搭配 Places API 使用 API 金鑰

只有提供正確驗證憑證的使用者可以呼叫 API,這樣可以防止有人未經授權使用 Google 地圖平台產品。上述憑證採用 API 金鑰的形式,API 金鑰是不重複的英數字元字串,可將您的 Google 帳單帳戶與專案建立關聯,以及與特定 API 或 SDK 建立關聯。

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

事前準備

您必須擁有已連結帳單帳戶的專案,並啟用 Places API,才能開始使用 Places 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. 如要接受由您提供的網路伺服器 IP 位址清單中所列的要求,請從「應用程式限制」清單中選取「IP 位址 (網路伺服器、Cron 工作等)」。您可以指定一或多個 IPv4 或 IPv6 位址,或是採用 CIDR 標記法的子網路。IP 位址必須與 Google 地圖平台伺服器監控的來源位址相符。如果您使用網路位址轉譯 (NAT),通常就會對應至電腦的「公開」IP 位址。
    • API 限制:
      1. 按一下「限制金鑰」
      2. 從「選取 API」下拉式選單中選取「Places API」或「Places API (New)」,但請勿兩者並用。如果選單未列出 Places API 或 Places API (新版),表示您需要enable該 API。
  4. 如要完成變更,請按一下「儲存」

Cloud SDK

Places API (新推出)

列出現有金鑰。

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="places.googleapis.com"
    --allowed-ips="IP_ADDRESS"

進一步瞭解 Google Cloud SDKCloud SDK 安裝和下列指令:

Places API

列出現有金鑰。

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="places-backend.googleapis.com"
    --allowed-ips="IP_ADDRESS"

進一步瞭解 Google Cloud SDKCloud SDK 安裝和下列指令:

將 API 金鑰加進要求中

每個 Places API 要求都必須包含 API 金鑰。請將下例中的 YOUR_API_KEY 換成您的 API 金鑰。

https://places.googleapis.com/v1/places/ChIJj61dQgK6j4AR4GeTYWZsKWw?fields=id,displayName&key=YOUR_API_KEY

使用 API 金鑰的要求必須透過 HTTPS 傳送。