Google Analytics API mit PHP – Teil 1: Authentifizierung
So können Sie die Google Analytics Daten per PHP mit der Data Export API abfragen.
Vor wenigen Tagen hat Google nach langer Zeit endlich eine Schnittstelle für den Web-Analytics-Dienst Google Analytics zur Verfügung gestellt. Mit der Data Export API können Sie die gespeicherten Daten abfragen.
Google stellt dafür bereits vorgefertigte Clients für Java und JavaScript zur Verfügung. Bisher gibt es jedoch keine Bibliothek für Abfragen mit PHP.
Im ersten Teil der Serie möchte ich die Authentifizierung bei Google vorstellen. Diese ist notwendig um die Account-Daten und Statistiken abzufragen.
Für die Authentifizierung ist es notwendig die Daten an Google per HTTP-Post zu übertragen. Es gibt unterschiedliche Möglichkeiten dies umzusetzen. Ich habe mich für das PEAR-Paket HTTP_Request entschieden. Sie sollten es Ihrer PEAR-Installation hinzufügen. Im Anschluss können Sie es folgendermaßen in Ihrem Script nutzen.
require_once('HTTP/Request.php');
Um sich nun bei Google zu authentifizieren, müssen Sie den Nutzernamen und Ihr Google Analytics Passwort wissen. Zusammen mit einem festgelegten Service- und Account-Typ müssen Sie alle Parameter per POST an Google senden. Folgender Code übernimmt dies:
$AUTH_URL = 'https://www.google.com/accounts/ClientLogin'; $email = 'ihremail@domain.com'; $password = 'ihrpasswort' // neues Request-Objekt erstellen $req = new HTTP_Request($AUTH_URL); $req->setMethod(HTTP_REQUEST_METHOD_POST); // Parameter hinzufügen $req->addPostData('Email', $email); $req->addPostData('Passwd', $password); $req->addPostData('accountType', 'GOOGLE'); $req->addPostData('service', 'analytics'); $req->addPostData('source', 'meshed.de-test-0.1'); // Request senden $response = $req->sendRequest();
Wenn Sie nun der Request absendet haben und Sie sich erfolgreich authentifizieren konnten, erhalten Sie als Response eine Nachricht die aus drei Zeilen besteht. Darin ist auch das sogenannte Auth-Token enthalten. Sie benötigen dies um alle weiteren Abfragen an den Account durchzuführen.
Der folgende Code zeigt, wie Sie das Auth-Token aus dem Response-Body auslesen können.
$authArray = array(); // Zeilen des Responses in Array speichern $lines = explode("n",$req->getResponseBody()); // Zeilen durchgehen foreach ($lines as $line) { // Schlüssel vom Wert trennen $keyValue = explode("=", $line); $key = $keyValue[0]; $value = $keyValue[1]; // Daten in Array schreiben $authArray[$key] = $value; } // Auth-Token ermitteln $auth = $authArray['Auth'];
In der Variable $auth
ist nun der Auth-Token gespeichert.
In dem nächsten Teil der Serie erkläre ich Ihnen, wie Sie Ihre Google-Analytics Kontodaten abfragen können.
Abonnieren Sie meinen News-Feed, um die folgenden Artikel zur Google Analytics API nicht zu verpassen.
Diskussion
[…] wie Sie Ihre Google Analytics Konto-Daten abrufen können, lesen Sie bitte den ersten Teil Authentifizierung dieser Serie. Im folgenden Beispiel wird das Auth-Token $auth aus dem ersten Artikel […]
[…] angenommen und direkt 2 Code beispiele zum Thema veröffentlicht. Zum einen geht es um die Authentifizierung und wie man seine Account Daten abrufen […]
[…] wie die Authentifizierung bei Google funktioniert und wie man auf die Daten zugreifen kann. Google Analytics API mit PHP – Teil 1: Authentifizierung Google Analytics API mit PHP – Teil 2: Account-Daten […]
Inspirierendes Stück Code! Gibt es alternativ zu cUrl und dem Pear HTTP Request noch weitere Möglichkeiten sich bei Google zu authentifizieren?
[…] (basierend auf einem Skript von Tobias Redman) […]
[…] die ersten Anwendungen und Beispiele auf. Tobias hat nun mit einer Reihe begonnen, in der er die Google Analytics API Nutzung mit PHP erklärt – auf Deutsch. Für Anfänger und Profis, die schnelle Code-Beispiele brauchen […]