Jak vygenerovat API klíč ke Google mapám
Vývoj
Vít Kašpar
Google mapy se prakticky staly, už před pár lety, v podstatě nedílnou součástí každého moderního webu a poskytly návštěvníkům interaktivní pohled na mapy přímo z webu.
Aktualizace článku: 11.2. 2024
Google mapy se prakticky staly, už před pár lety, v podstatě nedílnou součástí každého moderního webu a poskytly návštěvníkům interaktivní pohled na mapy přímo z webu.
V průběhu roku 2018 došlo k razantní změně podmínek v poskytování map a od té doby je nezbytné mít součástí účtu, na kterém je API klíč vygenerován, kreditní kartu, ze které se v případě překročení bezplatného limitu odečítá platba za poskytnutí mapového rozhraní.
Kolik to teda stojí?
Google mapy poskytují v podstatě 200$/měs. zdarma pro zobrazování map pro každého uživatele (= Google účet napojený na API).
V překladu to znamená:
- až 28 500 načtení dynamické mapy
- až 100 000 načtení statické mapy
Na běžném informačním webu je to více než dostatečná hranice na to jí překročit a pokud by se tak náhodou stalo, tak dalších 1000 volání API vyjde na 2$ až 7$.
Více je možné se dozvědět zde: https://cloud.google.com/maps-platform/pricing/
Jak aktivovat API klíč
Pojďme k tomu podstatnému, proč jste přišli a proč tento příspěvek dáváme i našim klientům pro potřebu vytvoření API klíče a zadání platebních údajů (včetně citlivých údajů o platební kartě).
- Přihlaste se ke svému Google účtu na adrese https://console.cloud.google.com/apis/dashboard, případně si vytvořte nový na stejném odkaze
- V horizontální nabídce zvolte “Select project” a následně tlačítko “Create project”
- Zadejte název Vašeho projektu a stiskněte “Create”
- Máme vytvořený projekt a přesuneme se z nástěnky do “Libraries”
- Vyhledejte spojení “Map..” a u znázorněných API povolte jejich použití tlačítkem “Enable”
- Následně pokračujte v levém menu na položku “Credentials” a tlačítko “Create credentials” a nakonec na “API key”
- Takto vytvoříte tolik klíčů, kolik bude potřeba. Klíče následně zkopírujte a pošlete vývojáři.
Tak, máme za sebou první část postupu. Následně je ale nezbytné aktivovat platební metodu.
Jak přidat platební metodu
Když už máme vytvořené a předané API klíče, tak je potřeba přidat platební metodu následujícím postupem:
- Ve vertikální navigaci zvolte položku “Billing” a následně “Manage billing account”
- Otevře se Vám stránka s možností vytvořit novou platební metodu. Klikněte tedy na “Add billing account”
- Zaškrtněte souhlas s podmínkami a pokračujte kliknutím na tlačítko “Continue”
- Vyplňte své údaje, údaje o platební kartě a pokračujte tlačítkem “Start my free trial”
A to je vše. Tím máte vytvořené jak klíče, tak nastavenou primární platební metodu pro případ, že by došlo k vyššímu počtu zobrazení, než je zahrnuto ve výše zmíněných 200$.
Jak na zabezpečení vašeho API klíče?
Více, než kdy dříve je potřeba při zakládání klíčů a obecně využívání Google Cloud console dávat pozor na zabezpečení. Proč? Je tu hned několik důvodů:
- Odcizení klíče, které může vést k nárůstu počtu volání API rozhraní a následnému zvýšení poplatku za využívání API. Tento nárůst může být jednorázový i dlouhodobý a samozřejmě může narůst i do obrovských výšin.
- Chyba v aplikaci, která může také způsobit vysoký nárůst volání a tím způsobit značné škody. Nemusí jít ale vždy jen o chybu v aplikaci, kterou vytváříte, ale také o napojené aplikace, které se mohou zacyklit a odeslat doslova stovky tisíc či miliónů volání na API. V takových případech může dojit i ke škodám v řádech stovek tisíc korun.
Na co si dát tedy pozor a jak situaci vhodně podchytit? Restrikcemi. V rámci každého klíče i fakturačního účtu jako celku lze nastavit hned několik restrikcí a tím ochránit celý účet a předejít tak značným škodám. Jaké jsou:
- Omezení maximálního rozpočtu
- Omezení počtu volání - minuty
- Omezení počtu volání - dny
Další tipy a doporučení můžete získat přímo v dokumentaci k API na stránkách Googlu.
Rozhodně doporučuji nezačít využívat API a neposkytovat nikomu API klíč bez předchozího nastavení těchto restrikcí. Díky nastaveným restrikcím můžete předejít velice nepříjemné situaci, kdy zjistíte, že je na vašem účtu nepřiměřeně velká útrata.
Kde restrikce nastavit?:
- Na detailu konkrétního API klíče - Na detailu klíče máte hned 3 možnosti, co nastavit. Zejména tak omezit volání na určitou IP adresu (server) a nebo URL adresu daného webu, aby nemohli volání chodit z jiných míst.
- Nastavit restrikce na volání konkrétní API - např. mezit volání na konkrétní volání služeb, které v aplikaci používáte. Např. Geolocation API.
- V rámci fakturačního účtu v záložce "Billings & Alerts" - nastavíte omezení na rozpočet.
Na mém účtu je nepřiměřeně velká útrata, co mám dělat?
Bez nastavených restrikcí a omezení, které popisuji v předešlé části příspěvku se může stát, že vám nečekaně naroste měsíční útrata. Než si toho všimnete, tak se může jednat i o statisíce korun. Jak postupovat?
- E-mailové notifikace - fakturační účet přiřazený k danému projektu, kde je vygenerovaný API klíč dostane e-mailovou notifikaci vždy, když dojde k neočekávané aktivitě. Problém je, že automatické e-maily Googlu spousta uživatelů nečte, přehlíží a nebo rovnou maže. V takovém případě se pravděpodobně k informaci, že došlo k překročení bezplatného limitu nebo zvláštní aktivity u projektu nedozvíte.
- Měsíční vyúčtování - jednou za měsíc (obvykle v prvním týdnu navazujícího měsíce) chodí faktura za využití API rozhraní a počtu requestů. To je většinou ten moment, kdy se dozvíte o nepěkné situaci a také útratě, kterou jste v rámci API provedli.
Jak postupovat? Pokud víte, že se jedná o chybu nebo odcizení klíče, tak máte reálně jednu šanci, jak problém vyřešit s podporou Googlu a to následovně:
- V nápovědě účtu přejděte do částí Google Maps Platform Support.
- V této části je potřeba zvolit záložku "Billing" a vybrat "Resolve billing issue".
- Následně projdete krátkým "kvízem", kde se následně dostanete podle konkrétního problému až k live chatu s pracovníkem podpory.
Co dál? Je třeba popsat celý problém, prvně se budete bavit s pracovníkem fakturačního úseku, kterému popíšete problém. Ten Vás následně přepojí na technického pracovníka, který bude chtít pochopit problém, poradí s nastavením zabezpečení a pokud uvidí snahu a rychlé narovnání problému, předá následně ticket opět k fakturačnímu oddělení k dořešení. Pokud vše popíšete správně a napravíte chyby, tak je poměrně velká šance, jak uspět a v jednom případě vám fakturovanou částku prominou. Průběh komunikace se v průběhu z chatu přesune do e-mailu, kde řešení problému trvá cca 2-5 dní.
Vít Kašpar
Je spoluzakladatelem agentury. V oblasti webdesignu se pohybuje více než 14 let. Zkušenosti sbíral jako HTML kodér, UI designér i PHP programátor na malých i nadnárodních projektech. Aktuálně se věnuje UX designu a návrhům řešení pro naše klienty.