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 Maps Embed API, musisz mieć projekt z kontem rozliczeniowym i włączonym interfejsem Maps Embed 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
-
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 wyświetli się nowo utworzony klucz API. -
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
-
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 witryn, na liście Ograniczenia aplikacji kliknij Odsyłające adresy HTTP (witryny internetowe).
- Podaj co najmniej 1 witrynę odsyłającą. Możesz użyć symboli wieloznacznych, aby autoryzować wszystkie subdomeny (na przykład
https://*.google.com
akceptuje wszystkie witryny kończące się na.google.com
, gdy są dostępne przez HTTPS). Pamiętaj, że jeśli określisz www.domena.com, będzie ono działać jako symbol wieloznaczny www.domena.com/* i autoryzować dowolną ścieżkę podrzędną w tym adresie hosta. Obsługiwane są tylko schematy odesłańhttps://
ihttp://
. - Ograniczenia interfejsów API:
- Kliknij Ogranicz dostęp do klucza.
- W menu Wybierz interfejsy API kliknij Embed API Map Google. Jeśli interfejs Maps Embed API nie jest widoczny na liście, musisz go włączyć.
- Jeśli Twój projekt korzysta z Places Library, wybierz też Places API. Podobnie, jeśli Twój projekt korzysta z innych usług w JavaScript API (Directions API, Distance Matrix API, Elevation API lub Geocoding API), musisz też włączyć i wybrać odpowiedni interfejs API na tej liście.
- 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=maps-embed-backend.googleapis.com --allowed-referrers="referer"
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 interfejsu Maps Embed API musisz podać klucz interfejsu API.
W tym przykładzie zastąp YOUR_API_KEY
swoim kluczem API.
https://www.google.com/maps/embed/v1/MAP_MODE?key=YOUR_API_KEY¶meters