The Google Analytics API allows client applications to request data, saved in the analytics accounts.
See http://code.google.com/apis/analytics/docs/gdata/v2/gdataOverview.html for more information about the Google Analytics API.
Using the account feed, you are able to retrieve a list of all the accounts available to a specified user.
$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"; }
The $analytics->getAccountFeed() call, results in a
Zend_Gdata_Analytics_AccountFeed
object that contains
Zend_Gdata_Analytics_AccountEntry
objects. Each of this
objects represent a google analytics account.
Besides the account feed, google offers a data feed, to retrieve report data using the Google Analytics API. To easily request for these reports, Zend_Gdata_Analytics offers a simple query construction interface. You can use all the metrics and dimensions specified by the API. Additionaly you can apply some filters to retrieve some common data or even complex results.
$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"; }