Začínáme s API PageSpeed.ONE

Tento text vás provede prvními kroky s API monitoringu PageSpeed.ONE. Co musíte splnit, kde získáte klíč a jak z dat API získat přehled o rychlosti vašich webů.

V tomto textu nabízíme rychlý vstup do tématu. Nenahrazuje tedy plnou dokumentaci API.

Co API nabízí

Veřejné API slouží k automatizaci práce s výsledky testů:

Kde je API k dispozici?

Veřejné API monitoringu PageSpeed.ONE běží na URL:

Produkční URL: https://api.pagespeed.one/.

První vyzkoušení můžete provést na příkazové řádce takto:

curl https://api.pagespeed.one/health

Vrátí se vám „zdravotní stav“ API a vy budete vědět, že vše funguje.

Veřejné API PageSpeed.ONE pro monitoring rychlosti webu Automatizujte práci s daty o rychlosti — metriky, Hlídač i poznámky v grafech.

Co musím splnit pro přístup k datům?

Přístup k API je svázaný s reálnými testovacími sadami PageSpeed.ONE. API klíče se přidělují na tým. Potřebujete mít v týmu tarif a nastavení, které API podporuje:

  • Být v týmu, kde máte k dispozici některou z placených testovacích sad, například PLUS.
  • Být v tomto týmu administrátorem, abyste mohli vygenerovat API klíče.

Ověřte, zda vidíte nastavení API po přihlášení účtu v nastavení týmu. Pak můžete pokračovat nastavením API klíčů.

Získání API klíče

Chráněné požadavky autorizujete klíčem organizace (tzv. „Bearer token“). Klíč patří jednomu týmu a všechny operace je možné provádět pouze nad daty tohoto týmu.

  • Přihlaste se do monitoringu PageSpeed.ONE v prohlížeči.
  • Vyberte patřičný tým.
  • Otevřete nastavení týmu (organizace).
  • V nastavení najděte sekci pro Veřejné API a správu klíčů.
  • Před vygenerováním zvolte úroveň oprávnění:
    • Pouze čtení — pro tento API klíč bude povoleno pouze čtení dat o rychlosti (můžete jej tedy přidělit např. i externí agentuře).
    • Čtení i zápis — pro operace, které mění data, např. vytvoření poznámek u testu (pozor, komu klíč přidělujete).
  • Vygenerujte nový klíč. Klíč si pak zkopírujte do správce hesel.
  • S klíčem zacházejte opatrně, jako s heslem: volte přenos jen přes HTTPS, nikdy ho neukládejte do repozitáře; při úniku dat nebo jednou za čas klíč zrušte a vytvořte nový.

U každého požadavku nyní posílejte hlavičku Authorization: Bearer <VÁŠ_API_KLÍČ> a můžete používat naše API.

Jak najdu hash konkrétní testovací sady?

Testovací sady jsou jednotky, které vidíte v dashboardu týmu. U testů PLUS odpovídají měření jednoho webu, jeho URL a konkurence.

Hash testovací sady najdete také ručně v URL dané testovací sady:

https://pagespeed.one/app/r/7f3c9a2b1d4e8/

testHash je v tomto případě 7f3c9a2b1d4e8

Správnou URL testovací sady poznáte podle tvaru /app/r/{testHash}/.

Nepoužívejte jiné segmenty z adresy (např. hash týmu v cestě /app/{něco}/dashboard).

Kompletní výčet platných hashů testovacích sad pro váš tým (PLUS, START včetně zkušebních období; bez čistě FREE měření) můžete získat také z API voláním GET /v1/tests.

První vyzkoušení

Můžete si vypsat všechny relevantní testovací sady týmu (viz výše). Nebo hned ověřit konkrétní hash:

Zkuste ověřit, zda máte přístup k dané testovací sadě:

curl 'https://api.pagespeed.one/v1/tests/access-check?testHash=TEST_HASH' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer VÁŠ_API_KLÍČ'

Nahraďte

  • VÁŠ_API_KLÍČ — API klíč, viz výše,
  • TEST_HASH — hash testovací sady z její URL, viz výše.

Mělo by se vám vrátit něco jako:

{
  "authorized": true,
  "organizationHash": "HASH_TÝMU",
  "testHash": "TEST_HASH"
}

organizationHash odpovídá segmentu týmu v /app/{organizationHash}/dashboard (není to číselné id z databáze).

Naživo si to můžete také zkoušet v plné dokumentaci API. Tam také najdete další možnosti volání pro čtení nebo zápis dat.

Chybové odpovědi

Časté případy:

  • 401 — chybí klíč, špatně tvořená hlavička Authorization, nebo klíč není rozpoznán,
  • 403 — klíč platný, ale rozsah nestačí (např. klíč jen pro čtení u zápisu),
  • 500 — neočekávaná chyba serveru.

Tělo odpovědi je většinou malý JSON s polem error (text vhodný do logu nebo UI; znění se mezi verzemi může měnit).

Plná dokumentace API