Google Analytics API – Teil 1
Die Google Analytics API ist ein mächtiges Instrument von Google. Google bietet neben einer API für SEM Daten (AdWords) auch eine API für SEO relevante Daten. Das ist die Analytics API. Über diese API kann man so gut wie alle Daten abfragen, die auch über das Analytics Onlinetool von Google abrufbar sind. Google bietet, so wie bei der AdWords API auch, eine Bibliothek an. Diese gibt es für:
Die derzeit aktuelle Version ist die Core Reporting API v3.
Google Analytics API
Mit der Google Analytics API erhält man Zugriff auf eine Reihe wichtiger SEO Daten. Diese werden über Javascript bei jedem Aufruf einer Webseite (sofern diese in Google Analytics eingebunden ist). Diese Daten können bei großen Webseiten sehr umfangreich werden. Wer sich näher für die Auswertung interessiert kann diese auch über ein eigens implementiertes Tools abfragen. Dafür bietet das Service die Google Analytics API an.
Der erste Schritt um Daten von Analytics abzufragen ist ein Google Client Objekt zu erstellen. In PHP funktioniert das so:
$client = new Google_Client();
Danach müssen wir noch einige Dinge einstellen:
$app_name = 'MyAnalyticsApp'; $analytics_client_id = '123456789123.apps.googleusercontent.com'; $analytics_client_secret = 'jsiId93-ncUs0d92d5vF9sOk'; $analytics_developerToken = 'ldoCnenfiU93-oeuFJoI84'; $redirect_uri = "http://".$_SERVER['HTTP_HOST']."/script.php"; $scope = "https://www.googleapis.com/auth/analytics.readonly"; $client->setApplicationName($app_name); $client->setClientId($analytics_client_id); $client->setClientSecret($analytics_client_secret); $client->setDeveloperKey($analytics_developerToken); $client->setRedirectUri($redirect_uri); $client->setScopes(array($scope));
Kurz die Parameter beschrieben:
- ApplicationName
das ist ein frei wählbarer Name seiner Applikation - ClientId
in der Google API Console kann für die Google APIs OAuth Logins erstellen. Darunter auch für Analytics. Wir verwenden die dort erstellte Client Id für unser Login. - ClientSecret
beim Erstellen eines OAuth Logins wird auch ein Passwort erstellt, dass wir hier verwenden. - DeveloperKey
der Developer Key muss bei Google beantragt werden. - RedirectUri
das ist im Grunde die URL, welche nach dem Login aufgerufen wird. In unserem Fall ist das die URL dieses Scripts. - Scopes
in diesem Beispiel ist der Scope so eingestellt, dass wir nur Lesezugriff haben.
Im selben Script verarbeiten wir auch den Login. Ist man noch nicht eingeloggt, so wird der Benutzer zum Google Login weitergeleitet. Sollte dieser korrekt ausgeführt worden sein, so leitet Google den Benutzer automatisch mittel der RedirectUri auf unser Script. Im Script prüfen wir ob ein GET Parameter mit dem AccessToken übermittelt wurde. Falls dem so ist, hat der Login funktioniert und wir können fortfahren. Hier der Code:
if (isset($_GET['code'])) { $client->authenticate(); $_SESSION['token'] = $client->getAccessToken(); $redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']; header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL)); } if (isset($_SESSION['token'])) { $client->setAccessToken($_SESSION['token']); } if ($client->getAccessToken()) { $_SESSION['token'] = $client->getAccessToken(); } else { $loginUrl = sprintf("https://accounts.google.com/o/oauth2/auth? scope=%s&state=%s&redirect_uri=%s&response_type=code&client_id=%s&access_type=%s",$scope,$state,$redirect_uri,$analytics_client_id,$access_type); header('Location: '.$loginUrl); }
Nach dem erfolgreichem Login können wir nun uns ein AnalyticsService Objekt erstellen um API Abfragen über der Google Analytics API durchzuführen:
$analytics = new Google_AnalyticsService($client);
Im nächsten Teil geht es um das Abfragen von Daten aus der API.
Hi, ich hab auch mal notgedrungen ein Tutorial geschrieben, weil ich meine PHP Implementierung der Analytics API V3 anpassen musste: http://www.kammerath.net/google-analytics-api-v3-mit-php.html
Vg, Jan
danke für die Info, ist sicherlich für den einen oder anderen ganz hilfreich.