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
-
Otwórz stronę Google Maps Platform > Dane logowania.
-
Na stronie Dane logowania kliknij Utwórz dane logowania > Klucz interfejsu API.
W oknie Utworzono klucz API pojawi się nowo utworzony klucz. -
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
-
Otwórz stronę Google Maps Platform > Dane logowania.
- Wybierz klucz interfejsu API, dla którego chcesz ustawić ograniczenie. Pojawi 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, 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:
- Kliknij Ogranicz klucz.
- 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ć.
- 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.