Hello Analytics API: PHP-Kurzanleitung für Dienstkonten

In dieser Anleitung werden die Schritte beschrieben, die für den Zugriff auf ein Google Analytics-Konto, die Abfrage der Analytics APIs, die Verarbeitung der API-Antworten und die Ausgabe der Ergebnisse erforderlich sind. In dieser Anleitung werden die Core Reporting API Version 3.0, die Management API Version 3.0 und OAuth 2.0 verwendet.

Schritt 1: Analytics API aktivieren

Damit du die Google Analytics API verwenden kannst, musst du zuerst mithilfe des Einrichtungstools ein Projekt in der Google API Console erstellen. Dadurch wird die API aktiviert und Anmeldedaten erzeugt.

Client-ID erstellen

  1. Öffne die Seite Dienstkonten. Wähle ein Projekt aus, wenn du dazu aufgefordert wirst.
  2. Klicke auf Dienstkonto erstellen und gib einen Namen und eine Beschreibung für das Dienstkonto ein. Du kannst die standardmäßige Dienstkonto-ID verwenden oder eine andere eindeutige ID auswählen. Wenn du fertig bist, klicke auf Erstellen.
  3. Für den folgenden Abschnitt Dienstkontoberechtigungen (optional) sind keine Maßnahmen erforderlich. Klicke auf Weiter.
  4. Scrolle auf dem Bildschirm Nutzern Zugriff auf dieses Dienstkonto erteilen nach unten zum Abschnitt Schlüssel erstellen. Klicke auf Schlüssel erstellen.
  5. Wählen Sie in der angezeigten Seitenleiste das Format für Ihren Schlüssel aus. Empfohlen wird JSON.
  6. Klicken Sie auf Erstellen. Dein neues öffentliches/privates Schlüsselpaar wird generiert und auf deinen Computer heruntergeladen. Dies ist die einzige Kopie dieses Schlüssels. Informationen dazu, wie du den Schlüssel sicher speicherst, findest du unter Dienstkontoschlüssel verwalten.
  7. Klicke im Dialogfeld Privater Schlüssel auf deinem Computer gespeichert auf Schließen und dann auf Fertig, um zur Tabelle deiner Dienstkonten zurückzukehren.

Dienstkonto zu Google Analytics-Konto hinzufügen

Das neu erstellte Dienstkonto hat die E-Mail-Adresse <projectId>-<uniqueId>@developer.gserviceaccount.com. Mit dieser E-Mail-Adresse können Sie dem Google Analytics-Konto, auf das Sie über die API zugreifen möchten, einen Nutzer hinzufügen. Für diese Anleitung sind nur Lese- und Analyseberechtigungen erforderlich.

Schritt 2: Google-Clientbibliothek installieren

Sie können die Google APIs-Clientbibliothek für PHP herunterladen oder Composer verwenden:

composer require google/apiclient:^2.0

Schritt 3: Beispiel einrichten

Erstellen Sie eine einzelne Datei mit dem Namen HelloAnalytics.php, die den Beispielcode unten enthält.

  1. Kopieren Sie den folgenden Quellcode oder laden Sie ihn nach HelloAnalytics.php herunter.
  2. Verschieben Sie die zuvor heruntergeladene Datei service-account-credentials.json in dasselbe Verzeichnis wie den Beispielcode.

HelloAnalytics.php

<?php

// Load the Google API PHP Client Library.
require_once __DIR__ . '/vendor/autoload.php';

$analytics = initializeAnalytics();
$profile = getFirstProfileId($analytics);
$results = getResults($analytics, $profile);
printResults($results);

function initializeAnalytics()
{
  // Creates and returns the Analytics Reporting service object.

  // Use the developers console and download your service account
  // credentials in JSON format. Place them in this directory or
  // change the key file location if necessary.
  $KEY_FILE_LOCATION = __DIR__ . '/service-account-credentials.json';

  // Create and configure a new client object.
  $client = new Google_Client();
  $client->setApplicationName("Hello Analytics Reporting");
  $client->setAuthConfig($KEY_FILE_LOCATION);
  $client->setScopes(['https://www.googleapis.com/auth/analytics.readonly']);
  $analytics = new Google_Service_Analytics($client);

  return $analytics;
}

function getFirstProfileId($analytics) {
  // Get the user's first view (profile) ID.

  // Get the list of accounts for the authorized user.
  $accounts = $analytics->management_accounts->listManagementAccounts();

  if (count($accounts->getItems()) > 0) {
    $items = $accounts->getItems();
    $firstAccountId = $items[0]->getId();

    // Get the list of properties for the authorized user.
    $properties = $analytics->management_webproperties
        ->listManagementWebproperties($firstAccountId);

    if (count($properties->getItems()) > 0) {
      $items = $properties->getItems();
      $firstPropertyId = $items[0]->getId();

      // Get the list of views (profiles) for the authorized user.
      $profiles = $analytics->management_profiles
          ->listManagementProfiles($firstAccountId, $firstPropertyId);

      if (count($profiles->getItems()) > 0) {
        $items = $profiles->getItems();

        // Return the first view (profile) ID.
        return $items[0]->getId();

      } else {
        throw new Exception('No views (profiles) found for this user.');
      }
    } else {
      throw new Exception('No properties found for this user.');
    }
  } else {
    throw new Exception('No accounts found for this user.');
  }
}

function getResults($analytics, $profileId) {
  // Calls the Core Reporting API and queries for the number of sessions
  // for the last seven days.
   return $analytics->data_ga->get(
       'ga:' . $profileId,
       '7daysAgo',
       'today',
       'ga:sessions');
}

function printResults($results) {
  // Parses the response from the Core Reporting API and prints
  // the profile name and total sessions.
  if (count($results->getRows()) > 0) {

    // Get the profile name.
    $profileName = $results->getProfileInfo()->getProfileName();

    // Get the entry for the first entry in the first row.
    $rows = $results->getRows();
    $sessions = $rows[0][0];

    // Print the results.
    print "First view (profile) found: $profileName\n";
    print "Total sessions: $sessions\n";
  } else {
    print "No results found.\n";
  }
}


Schritt 4: Beispiel ausführen

Nachdem Sie die Analytics API aktiviert haben, haben Sie die Google API-Clientbibliothek für PHP installiert und den Beispielquellcode eingerichtet.

Führen Sie das Beispiel mit

php HelloAnalytics.php
aus.

Wenn Sie diese Schritte ausführen, gibt das Beispiel den Namen der ersten Google Analytics-Datenansicht (Profil) und die Anzahl der Sitzungen in den letzten sieben Tagen aus.

Mit dem autorisierten Analytics-Dienstobjekt können Sie jetzt alle Codebeispiele in der Referenzdokumentation zur Management API ausführen. Sie können beispielsweise versuchen, den Code so zu ändern, dass die Methode accountSummaries.list verwendet wird.