# Verwenden der Google Analytics API

Die Google Analytics API erlaubt es Client-Anwendungen Daten aus Google Analytics Konten abzufragen.

Siehe http://code.google.com/apis/analytics/docs/gdata/v2/gdataOverview.html für weitere Informationen über die Google Analytics API.

## Account-Daten abfragen

Der Account-Feed gibt eine Übersicht über alle Konten und deren Properties.

    $service = Zend_Gdata_Analytics::AUTH_SERVICE_NAME;
    $client = Zend_Gdata_ClientLogin::getHttpClient($email, $password, $service);
    $analytics = new Zend_Gdata_Analytics($client);
    $accounts = $analytics->getAccountFeed();

    foreach ($accounts as $account) {
      echo "\n{$account->title}\n";
    }

Die Rückgabe der Method `$analytics->getAccountFeed()`, ein Objekt der Klasse Zend_Gdata_Analytics_AccountFeed, beinhaltet eine Liste von Zend_Gdata_Analytics_AccountEntry Objekten. Diese Objekte bilden die jeweiligen Properties innerhalb des Accounts ab.

## Statistische Daten abfragen

Neben dem Account-Feed besteht auch die Möglichkeit, die statistischen Daten der einzelnen Accounts abzufragen. Hierfür steht eine vereinfacht Abfrage-Syntax zur Verfügung, welche das Erstellen der URL-Abfragen vereinfacht. Hierbei stehen die von Google bereitgestellten Metriken bzw. Dimensionen zur Verfügung. Mit diesen und einer Anzahl an Filtern können neben gewöhnlichen Werten auch komplexre Resultate abgefrage werden.

    $query = $service->newDataQuery()->setProfileId($profileId)
      ->addMetric(Zend_Gdata_Analytics_DataQuery::METRIC_BOUNCES)
      ->addMetric(Zend_Gdata_Analytics_DataQuery::METRIC_VISITS)
      ->addDimension(Zend_Gdata_Analytics_DataQuery::DIMENSION_MEDIUM)
      ->addDimension(Zend_Gdata_Analytics_DataQuery::DIMENSION_SOURCE)
      ->addFilter("ga:browser==Firefox")
      ->setStartDate('2011-05-01')
      ->setEndDate('2011-05-31')
      ->addSort(Zend_Gdata_Analytics_DataQuery::METRIC_VISITS, true)
      ->addSort(Zend_Gdata_Analytics_DataQuery::METRIC_BOUNCES, false)
      ->setMaxResults(50);

    $result = $analytics->getDataFeed($query);
    foreach($result as $row){
      echo $row->getMetric('ga:visits')."\t";
      echo $row->getValue('ga:bounces')."\n";
    }