Google Analytics API mit PHP - Teil 2: Account-Daten abrufen

Erfahren Sie, wie Sie Ihre Google Analytics Account Daten mit PHP und der Data Export API abfragen können.

Bevor ich Ihnen erläutere, 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 benötigt.

Um auf Ihre Account-Daten zugreifen zu können, müssen Sie sich bei Google authentifizieren. Dies geschieht indem Sie einen angepassten HTTP-Header mit jeder Abfrage mitsenden. Auch hierzu verwenden ich wieder das HTTP_Request-Package von PEAR. Folgendes Beispiel zeigt, wie Sie eine Anfrage an den entsprechenden Service stellen:

// URL des Account-Services
$FEED_URL = 'https://www.google.com/analytics/feeds/accounts/default';

// neues Request-Objekt erstellen
$req = new HTTP_Request($FEED_URL);

// Wichtig: Methode GET nicht POST
$req->setMethod(HTTP_REQUEST_METHOD_GET);

// Authentifizierungs-Header konstruieren
$req->addHeader('Authorization', 'GoogleLogin auth='.$auth);

// Anfrage senden
$response = $req->sendRequest();

Das erfolgreiche Ergebnis dieser Anfrage enthält eine XML-Datei. Die Daten sehen ungefähr so aus. Ich habe IDs und Domainnamen durch Fantasie-Inhalte ersetzt.


  http://www.google.com/analytics/feeds/accounts/YOURID
  2009-03-21T07:46:38.000-07:00
  Profile list for YOURNAME

  
    Google Analytics
  
  Google Analytics
  14
  1
  14
  
    http://www.google.com/analytics/feeds/accounts/ga:0001
    2009-01-30T09:06:56.000-08:00
    www.yourdomain.de

    ga:0001
    
    
    
    
  
  
    ...
  

Sie können die Daten folgendermaßen ermitteln. Bitte beachten Sie die Anmerkungen nach dem Code-Beispiel.

if ($response) {

  // Daten extrahieren
  $content = $req->getResponseBody();

  // als XML-Datei laden
  $xml = simplexml_load_string($content);
}

Um die XML-Daten weiterzuverarbeiten, können Sie z.B. die hier benutzte Funktion simplexml_load_string nutzen. Bitte beachten Sie aber, dass in den XML-Daten Namespaces verwendet werden. Die benutze Funktion kann diese Daten leider nicht auslesen. Ich empfehle Ihnen lieber auf die DOM-Funktionen von PHP zurückzugreifen.

Die hier ermittelten Google Analytics Kontodaten werden benötigt, um die Statistiken der von Ihnen angelegten Websites abzufragen. Im nächsten Teil dieser Serie erfahren Sie, wie Sie Pageviews und Visits einer Ihrer Website abfragen können.

Abonnieren Sie den News-Feed, um weitere Artikel in dieser Serie nicht zu verpassen.

Portrait Tobias Redmann

Über den Autor

Tobias Redmann ist derzeit Referent für Neue Medien am Max-Planck-Institut für Bildungsforschung und dort für das Internet und Intranet verantwortlich. Er beschäftigt sich beruflich und privat mit verschiedenen Web-Themen - u.a. Website-Optimierung, Online-Marketing und Web-Technologien.

5 Comments

  1. [...] dem nächsten Teil der Serie erkläre ich Ihnen, wie Sie Ihre Google-Analytics Kontodaten abfragen [...]

  2. taikahn sagt:

    Hallo!

    Finde den Artikel sehr interessant und habe ihn gleich getestet! Funzt wunderbar. Nur woltle ich jetzt schon einen Schritt weiter gehen und gezielte Daten abfragen. AUs meiner empfangen XMl habe ich mir die Profilid gefischt und schicke dann ein Paket mit dieser ID und einem Datumbereich an https://www.google.com/analytics/feeds/data. Vorher noch eine Authorisirung mit addHeader(’Authorization’, ‘GoogleLogin auth=’.$authkey). Leider empfange ich keien XML von google! Kann mir wer helfen!? Vielen Dank!!!

  3. Christian Heese sagt:

    Hallo! Wissen sie denn schon wann sie den 3 Tei lveröffentlichen? Vielen Dank!

  4. Florian sagt:

    Hy

    Bin auch schon ganz heiss auf den 3. Teil. Bislang klappt es super.

    Danke schonmal

  5. Wo sagt:

    Teil 3 kommt wohl nicht mehr?

Leave a Reply