Martin Talavášek

Růst

Google API – Analytics

Říj 28, 2009

Google API – Analytics

Increasing bars on a quarterly profits chart. fotografieNelíbí se vám flashové grafíčky nebo celé rozhraní Google Analytics? Rádi byste si ukládali zajímavá statistická čísla z Google Analytics do vlastní databáze? K tomu vám dopomůže Google API, pomocí kterého se můžete k těmto datům vcelku pohodlně dostat. Jediné co opravdu musíte mít, jsou přístupové údaje a práva na čtení těchto dat.

Dalším užitečným pomocníkem je knihovna Zend_Gdata, která je součástí Zend frameworku. Práce s Google API, tak získává na jednoduchosti a srozumitelnosti kódu. Tak začneme trochu prakticky…

1.) Přihlášení


$service = "analytics";
$client = Zend_Gdata_ClientLogin::getHttpClient($login, $password, $service);
$gdClient = new Zend_Gdata($client);

Pokud dosadíte správné jméno a heslo, jste přihlášeni ke Google API, konkrétně k službě Google Analytics ($service). Stejným způsobem se můžete přihlásit do dalších služeb, ale to až příště.

2.) Získání dostupných účtů

Teď by se hodil seznam dostupných účtů, ze kterých budeme chtít čerpat data.


$results = $gdClient->getFeed("https://www.google.com/analytics/feeds/accounts/default");
foreach ($results as $entry) {
  echo $entry->id->text;
  echo '<br />';
}

Nyní máte vypsaný seznam profilů, ze kterých můžete data číst. Nyní stačí chytře sestavit dotaz na Google API a on pohotově vrátí surová čísla.

3.) Získání dat

Google má ve svých nápovědách chytře ukrytý nástroj, pomocí kterého bude vytvoření dotazu na Google Analytics otázkou několika minut – http://code.google.com/intl/cs/apis/analytics/docs/gdata/gdataExplorer.html

Ukázka GA API nástroje

Takhle vypadá onen nástroj. Pokud vpravo nahoře autentifikujete tento nástroj (Authenticate with GA), můžete získávat reálná data přímo z tohoto nástroje. Ten vám vygeneruje i URL, pomocí které lze získat stejná data třeba pomocí PHP. Řekněme tedy, že máte tu svoji URL, pomocí které získáte co potřebujete. Čistá data jsou na cestě…


$url = "https://www.google.com/analytics/feeds/data?ids=ga%3A00001&metrics=ga%3Avisits%2Cga%3Avisitors%2Cga%3Apageviews&start-date=2009-10-01&end-date=2009-10-28";
$data = $gdClient->getFeed($url);

$return = array(); 
foreach ($data as $rep) { 
  foreach ($rep->extensionElements as $elem) { 
    $name = $elem->extensionAttributes["name"]["value"]; 
    $value = $elem->extensionAttributes["value"]["value"]; 
    $return[$name] = $value;
  }
}

V poli $return nyní máte skutečně křišťálově čistá data pro jakékoliv použití.

Jaká další služba od Googlu by vás zajímala? Nějaké nápady? AdSense, Charts (dynamické generování grafů), Checkout, Webmaster Tools nebo něco jiného? Díky za tipy! ;)