API Analytics Introduzione: guida rapida al linguaggio PHP per gli account di servizio

Questo tutorial illustra i passaggi necessari per accedere a un account Google Analytics, eseguire query sulle API Analytics, gestire le risposte dell'API e generare i risultati. In questo tutorial vengono utilizzati l'API di reporting principale 3.0, l'API di gestione v3.0 e l'OAuth2.0.

Passaggio 1: attiva l'API Analytics

Per iniziare a utilizzare l'API Google Analytics, devi prima utilizzare lo strumento di configurazione, che ti guida nella creazione di un progetto nella console API di Google, nell'abilitazione dell'API e nella creazione delle credenziali.

Creare un ID client

  1. Apri la pagina Account di servizio. Se richiesto, seleziona un progetto.
  2. Fai clic su Crea account di servizio, quindi inserisci un nome e una descrizione per l'account di servizio. Puoi utilizzare l'ID account di servizio predefinito o sceglierne un altro univoco. Al termine, fai clic su Crea.
  3. La sezione Autorizzazioni dell'account di servizio (facoltativo) che segue non è obbligatoria. Fai clic su Continua.
  4. Nella schermata Concedi agli utenti l'accesso a questo account di servizio, scorri verso il basso fino alla sezione Crea chiave. Fai clic su Crea chiave.
  5. Nel riquadro laterale che viene visualizzato, seleziona il formato della chiave (quello consigliato è JSON).
  6. Fai clic su Crea. Viene generata e scaricata sul tuo computer una nuova coppia di chiavi pubblica/privata, che sarà l'unica copia esistente. Per informazioni su come archiviare le chiavi in modo sicuro, consulta la sezione Gestire le chiavi degli account di servizio.
  7. Fai clic su Chiudi nella finestra di dialogo Chiave privata salvata nel computer, poi fai clic su Fine per tornare alla tabella degli account di servizio.

Aggiungi un account di servizio all'account Google Analytics

L'account di servizio appena creato avrà un indirizzo email, <projectId>-<uniqueId>@developer.gserviceaccount.com. Utilizza questo indirizzo email per aggiungere un utente all'account Google Analytics a cui vuoi accedere tramite l'API. Per questo tutorial sono necessarie solo le autorizzazioni di lettura e analisi.

Passaggio 2: installa la libreria client di Google

Puoi ottenere la libreria client delle API di Google per PHP scaricando la release o utilizzando Composer:

composer require google/apiclient:^2.0

Passaggio 3: configura l'esempio

Devi creare un singolo file denominato HelloAnalytics.php, che conterrà il codice di esempio riportato di seguito.

  1. Copia o scarica il seguente codice sorgente in HelloAnalytics.php.
  2. Sposta il contenuto service-account-credentials.json scaricato in precedenza all'interno della stessa directory del codice di esempio.

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";
  }
}


Passaggio 4: esegui l'esempio

Dopo aver abilitato l'API Analytics, installato la libreria client delle API di Google per PHP e configurato il codice sorgente di esempio, quest'ultimo è pronto per essere eseguito.

Esegui l'esempio utilizzando:

php HelloAnalytics.php

Al termine di questi passaggi, l'esempio restituisce il nome della prima vista (profilo) Google Analytics dell'utente autorizzato e il numero di sessioni negli ultimi sette giorni.

Con l'oggetto di servizio Analytics autorizzato ora puoi eseguire qualsiasi esempio di codice trovato nei documenti di riferimento dell'API Management. Ad esempio, potresti provare a modificare il codice per utilizzare il metodo accountSummaries.list.