Używanie kluczy interfejsu API z interfejsem Distance Matrix API

Usługi Google Maps Platform są zabezpieczone przed nieuprawnionym użyciem przez ograniczenie wywołań interfejsu API do tych, które zapewniają odpowiednie dane uwierzytelniające. Te dane logowania mają postać klucza interfejsu API – unikalnego ciągu alfanumerycznego, który łączy Twoje konto rozliczeniowe Google z projektem oraz z konkretnym interfejsem API lub pakietem SDK.

Z tego przewodnika dowiesz się, jak utworzyć, ograniczyć i używać klucza interfejsu API Google Maps Platform.

Zanim zaczniesz

Zanim zaczniesz korzystać z interfejsu Distance Matrix API, musisz mieć projekt z kontem rozliczeniowym i włączonym interfejsem Distance Matrix API. Więcej informacji znajdziesz w artykule Konfigurowanie w konsoli Google Cloud.

Tworzenie kluczy interfejsu API

Klucz interfejsu API to unikalny identyfikator używany do uwierzytelniania żądań powiązanych z projektem na potrzeby wykorzystania i płatności. Z projektem musi być powiązany co najmniej 1 klucz interfejsu API.

Aby utworzyć klucz interfejsu API:

Konsola

  1. Otwórz stronę Google Maps Platform > Dane logowania.

    Otwórz stronę Dane logowania

  2. Na stronie Dane logowania kliknij Utwórz dane logowania > Klucz interfejsu API.
    W oknie Utworzono klucz API pojawi się nowo utworzony klucz.
  3. Kliknij Zamknij.
    Nowy klucz interfejsu API pojawi się na stronie Dane logowania w sekcji Klucze interfejsu API.
    (Pamiętaj, aby ograniczyć klucz interfejsu API przed użyciem go w środowisku produkcyjnym).

Pakiet SDK Cloud

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

Więcej informacji znajdziesz w artykułach Google Cloud SDK, Instalacja pakietu Cloud SDK oraz w opisach tych poleceń:

Ograniczanie kluczy interfejsu API

Google zdecydowanie zaleca ograniczenie kluczy interfejsu API przez ograniczenie ich użycia tylko do tych interfejsów API, które są potrzebne w Twojej aplikacji. Ograniczenie kluczy interfejsu API zwiększa bezpieczeństwo aplikacji, chroniąc ją przed nieuzasadnionymi żądaniami. Ponosisz odpowiedzialność finansową za opłaty wynikające z nadużywania kluczy interfejsu API bez ograniczeń. Więcej informacji znajdziesz w artykule Sprawdzone metody zabezpieczania interfejsów API.

na której jest ona dostępna.

Aby ograniczyć klucz interfejsu API:

Konsola

  1. Otwórz stronę Google Maps Platform > Dane logowania.

    Otwórz stronę Dane logowania

  2. Wybierz klucz interfejsu API, dla którego chcesz ustawić ograniczenie. Pojawi się strona właściwości klucza interfejsu API.
  3. W sekcji Ograniczenia klucza ustaw te ograniczenia:
    • Ograniczenia aplikacji:
      1. Aby akceptować żądania z listy adresów IP serwerów WWW, wybierz Adresy IP (serwery WWW, zadania cron itp.) z listy Ograniczenia aplikacji. Określ co najmniej 1 adres IPv4 lub IPv6 albo podsieć w notacji CIDR. Adresy IP muszą być zgodne z adresem źródłowym, który widzą serwery Google Maps Platform. Jeśli używasz translacji adresów sieciowych (NAT), zwykle odpowiada to publicznemu adresowi IP Twojego urządzenia.
    • Ograniczenia interfejsów API:
      1. Kliknij Ogranicz klucz.
      2. Z menu Wybierz interfejsy API wybierz Distance Matrix API. Jeśli interfejs Distance Matrix API nie jest widoczny na liście, musisz go włączyć.
  4. Aby zapisać zmiany, kliknij Zapisz.

Pakiet SDK Cloud

Wyświetl listę istniejących kluczy.

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

Usuń istniejące ograniczenia dotyczące dotychczasowego klucza.

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

Ustaw nowe ograniczenia dotyczące istniejącego klucza.

gcloud services api-keys update projects/PROJECT/locations/global/keys/KEY_ID \
    --api-target=service=distance-matrix-backend.googleapis.com
    --allowed-ips="IP_ADDRESS"

Więcej informacji znajdziesz w artykułach Google Cloud SDK, Instalacja pakietu Cloud SDK oraz w opisach tych poleceń:

Dodawanie klucza interfejsu API do żądania

Do każdego żądania wysyłanego do interfejsu Distance Matrix API musisz dołączyć klucz interfejsu API. W poniższym przykładzie zastąp YOUR_API_KEY swoim kluczem interfejsu API.

https://maps.googleapis.com/maps/api/distancematrix/json?origins=Seattle&destinations=San+Francisco&key=YOUR_API_KEY

W przypadku żądań, które używają klucza interfejsu API, wymagany jest protokół HTTPS.