Garth

Google Maps API chybějící klíč

Google Maps API error: MissingKeyMapError

Pokud využíváte Google Maps API tak jste se po 22.6.2016 nejspíše setkaly s chybou, že Vám najednou dané mapy nefungují. Navíc na webech spuštěných před daným datem je vše jak má a na localhostu také. Co se děje? Google zavedl pro použití jejich Google API takzvané klíče. S tím, že klíč není vyžadován pokud jste na localhostu, či Vaše doména již byla aktivní před 22.6.2016 .

Takže již víme, že potřebujeme "klíč", ale kde jej sehnat?


1. Přihlásíme se ke Google účtu na který chceme dané klíče párovat.
2. Jdeme na url adresu https://developers.google.com/maps/documentation/javascript/get-api-key#get-an-api-key
3. Stiskneme na "get key"
4. V okénku zvolíme "create a new project" případně zvolíme nějaký již vytvořený
Pokud klíč negenerujeme pro první web, tak je možné že již nějaké projekty máme založené a je možné některé projekty do sebe spojovat. Doporučuji spíše co projekt to jeden web. Důvod je te, že pod zdarma licencí je povoleno 25.000 načtení mapy na projekt za den. Což není málo, ale když v jednom projektu bude třeba 25 webů tak to máte průměrně jen 1000 přístupů a mnohdy máte mapu na nějakém výpisu či detailu nějakého uživatele a návštěvník projde teřba 10 profilů uživatelů.
5. Poté klikáme na "create and eneble api" (v případě zvoleného projektu klikáme na "enable api")
6. po krátkém čekání se nám objeví blok v kterém je náš API klíč (YOUR API KEY) ve tvaru například "AIzaSuA1MtlhIjvLxKvdJBBGeqs86pAu0mLfYDM"
7. Tento kód vložíme do webu

Kód by měl zareagovat asi za 5 minut.
P.S.: Pokud jste si koupili premiovou licenci tak do řetezce přidáte i "client ID" ve formátu "&client=gme-companyname" =>

Dočetl jsem se, že typicky premiový uživatel používá buď čistě API klíč, či klientské ID. Premiový účet nemám, tudíž nemohu s jistotou napsat zda je lepší použít obě hodnoty, či jen jednu.


Pokud jsme zapomněly jaký ten kód byl, či v něm potřebujeme upravit práva a další věci tak jdeme na odkaz https://console.developers.google.com/apis/credentials .

Zde můžeme dané klíče přejmenovat, můžeme přegenerovat kód, či omezit místa kde jej lze použít.


Omezení požití klíče je pojmenované jako "Key restriction" a to probereme hlouběji.

Ideální příklad použití je volba "HTTP referrers (web sites)" zde můžete omezit na jakých webech tento kód bude fungovat a omezíte tím mmožnost, že by Váš klíč využíval někdo jiný. Osobně si moc nedovedu představit důvod, ale někdo třeba ano. Adres můžete vložit více ve formátu například " http://www.nazev-webu.cz/* ", kde ta "*" zaručí že na celém webu bude klíč fungovat.

Obdobně může fungovat omezení na servery (IP addresses (web servers, cron jobs, etc.) ), kde by se měla zadat IP adresa serverů a všechny weby na daných serverech by měly fungovat. Osobně my tato možnost nefungovala. Tak jako tak pro každý web budete dělat nový klíč, tudíž musíte vkládat "ip serveru" nebo "url adresu webu", takže práce vyjde na stejný čas. Doporučuji tedy použít "HTTP referrers (web sites)".

Někdy se může stát, že skrze nastavení v "Key restriction" máte problém s realizací například měření vzdálenosti přez Google API. Zde je cesta ta, že položku "Key restriction" nastavíte na "none".


<< zpět




Nejnovější články