Używanie kluczy interfejsu API z Directions API

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

Z tego przewodnika dowiesz się, jak utworzyć klucz interfejsu API Google Maps Platform, ograniczyć jego użycie i z niego korzystać.

Zanim zaczniesz

Zanim zaczniesz korzystać z interfejsu Directions API, musisz mieć projekt z kontem rozliczeniowym i włączonym interfejsem Directions 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 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 wyświetli się nowo utworzony klucz API.
  3. Kliknij Zamknij.
    Nowy klucz interfejsu API znajdziesz na stronie Dane logowania w sekcji Klucze API.
    (Pamiętaj, aby ograniczyć dostęp do klucza API przed użyciem go w produkcji).

Pakiet SDK Cloud

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

Dowiedz się więcej o pakiecie Google Cloud SDK, instalacji Cloud SDK i tych poleceniach:

Ograniczanie kluczy interfejsu API

Zdecydowanie zalecamy ograniczenie kluczy interfejsu API tylko do tych interfejsów API, które są potrzebne do działania aplikacji. Ograniczenie dostępu do kluczy interfejsu API zwiększa bezpieczeństwo aplikacji, chroniąc ją przed nieuzasadnionymi żądaniami. Więcej informacji znajdziesz w artykule Sprawdzone metody dotyczące bezpieczeństwa interfejsu API.

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 podanych przez Ciebie adresów IP serwera WWW, na liście Ograniczenia aplikacji wybierz Adresy IP (serwery WWW, zadania cron itp.). Podaj co najmniej 1 adres IPv4 lub IPv6 albo podsieć w notacji CIDR. Adresy IP muszą być zgodne z adresem źródłowym, który rejestrują serwery Google Maps Platform. Jeśli korzystasz z translacji adresów sieciowych (NAT), będzie to zwykle odpowiadać publicznemu adresowi IP Twojego urządzenia.
    • Ograniczenia interfejsów API:
      1. Kliknij Ogranicz dostęp do klucza.
      2. Z menu Wybierz interfejsy API wybierz Directions API. Jeśli interfejs Directions API nie jest wymieniony, musisz go włączyć.
  4. Aby zatwierdzić zmiany, kliknij Zapisz.

Pakiet SDK Cloud

Wyświetl listę istniejących kluczy.

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

usunąć istniejące ograniczenia dotyczące dotychczasowego klucza.

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

Ustaw nowe ograniczenia dla istniejącego klucza.

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

Dowiedz się więcej o pakiecie Google Cloud SDK, instalacji Cloud SDK i tych poleceniach:

Dodawanie klucza interfejsu API do żądania

W każdym żądaniu do interfejsu Directions API musisz podać klucz interfejsu API. W tym przykładzie zastąp YOUR_API_KEY swoim kluczem API.

https://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&key=YOUR_API_KEY

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