Usługi Google Maps Platform są zabezpieczone przed nieautoryzowanym użyciem przez ograniczenie wywołań interfejsu API do tych, które zawierają prawidłowe dane logowania. 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 Google Maps Platform API.
Zanim zaczniesz
Zanim zaczniesz korzystać z interfejsu Distance Matrix API (Legacy), musisz mieć projekt z kontem rozliczeniowym i włączonym interfejsem Distance Matrix API (Legacy). Więcej informacji znajdziesz w artykule Konfigurowanie w konsoli Cloud.
Tworzenie kluczy interfejsu API
Klucz interfejsu API to unikalny identyfikator, który uwierzytelnia żądania powiązane 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
-
Otwórz stronę Google Maps Platform > Dane logowania.
-
Na stronie Dane logowania kliknij Utwórz dane logowania > Klucz interfejsu API.
W oknie Utworzono klucz interfejsu API wyświetli się nowo utworzony klucz interfejsu API. -
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 o pakiecie SDK Google Cloud , instalacji pakietu SDK Cloud i tych poleceniach:
Ograniczanie kluczy interfejsu API
Zdecydowanie zalecamy 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. Odpowiadasz finansowo za opłaty spowodowane nadużyciem kluczy interfejsu API bez ograniczeń. Więcej informacji znajdziesz w artykule Sprawdzone metody zapewniania bezpieczeństwa interfejsu API.
Aby ograniczyć klucz interfejsu API:
Konsola
-
Otwórz stronę Google Maps Platform > Dane logowania.
- Wybierz klucz interfejsu API, dla którego chcesz ustawić ograniczenie. Wyświetli się strona właściwości klucza interfejsu API.
- W sekcji Ograniczenia klucza ustaw te ograniczenia:
- Ograniczenia aplikacji:
- Aby akceptować żądania z listy adresów IP serwerów WWW, które podajesz, 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 obserwowanym przez serwery Google Maps Platform. Jeśli używasz translacji adresów sieciowych (NAT), będzie to zwykle odpowiadać publicznemu adresowi IP Twojego komputera.
- Ograniczenia interfejsów API:
- Kliknij Ogranicz klucz.
- Z menu Wybierz interfejsy API wybierz Distance Matrix API (Legacy). Jeśli interfejsu Distance Matrix API (Legacy) nie ma na liście, musisz go włączyć.
- Aby zapisać zmiany, kliknij Zapisz.
Pakiet SDK Cloud
Wyświetl listę istniejących kluczy.
gcloud services api-keys list --project="PROJECT"
Wyczyść dotychczasowe ograniczenia istniejącego klucza.
gcloud services api-keys update "projects/PROJECT/keys/KEY_ID" \ --clear-restrictions
Ustaw nowe ograniczenia dla 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 o pakiecie SDK Google Cloud , instalacji pakietu SDK Cloud i tych poleceniach:
Dodawanie klucza interfejsu API do żądania
Do każdego żądania Distance Matrix API (Legacy) musisz dołączyć klucz interfejsu API. W tym 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.