Usługi Google Maps Platform są chronione przed nieautoryzowanym użyciem, ponieważ wywołania interfejsu API są ograniczone do tych, które zawierają prawidłowe dane uwierzytelniające. Te dane logowania mają postać klucza interfejsu API, który jest unikalnym ciągiem alfanumerycznym powiązującym Twoje konto rozliczeniowe Google z projektem oraz z konkretnym interfejsem API lub pakietem SDK.
Dowiedz się, jak utworzyć, ograniczyć i używać klucza interfejsu API w Google Maps Platform.
Zanim zaczniesz
Zanim zaczniesz korzystać z interfejsu Directions API (starsza wersja), musisz mieć projekt z kontem rozliczeniowym i włączonym interfejsem Directions API (starsza wersja). Więcej informacji znajdziesz w artykule o konfigurowaniu w konsoli 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 interfejsu API pojawi 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:
Ogranicz klucze 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 aplikacji. Ograniczenie kluczy interfejsu API zwiększa bezpieczeństwo aplikacji, chroniąc ją przed nieuzasadnionymi żądaniami. Ponosisz odpowiedzialność finansową za opłaty spowodowane nadużyciem kluczy interfejsu API bez ograniczeń. Więcej informacji znajdziesz w artykule Sprawdzone metody dotyczące bezpieczeństwa interfejsów 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. Pojawi się strona właściwości klucza interfejsu API.
- W sekcji Ograniczenia klucza ustaw te ograniczenia:
- Ograniczenia aplikacji:
- Aby akceptować żądania z listy podanych przez Ciebie adresów IP serwerów WWW, na liście Ograniczenia aplikacji wybierz Adresy IP (serwery WWW, zadania cron itp.). Podaj co najmniej jeden 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 komputera.
- Ograniczenia interfejsów API:
- Kliknij Ogranicz klucz.
- W menu Wybierz interfejsy API kliknij Directions API (starsza wersja). Jeśli interfejs Directions API (starsza wersja) nie jest widoczny na liście, musisz go włączyć.
- Aby zapisać zmiany, kliknij Zapisz.
Pakiet SDK Cloud
wyświetlać listę istniejących kluczy,
gcloud services api-keys list --project="PROJECT"
Usuń dotychczasowe ograniczenia dotyczące dotychczasowego 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=directions-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 Directions API (starsza wersja) 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/directions/json?origin=Toronto&destination=Montreal&key=YOUR_API_KEY
W przypadku żądań, które używają klucza interfejsu API, musisz używać protokołu HTTPS.