Corsi on-line
Chiudi
Newsletter:
  • Seguici su Facebook
  • Seguici su Twitter
  • Seguici su Google+
  • Seguici via RSS
  • Seguici col tuo Smartphone

Utilizzare le API di Google Analytics con PHP

Articolo scritto da Ciro Cardone
Pagina 1 di 4

Google Analytics è il più popolare servizio per monitorare l'andamento di un sito web.
Google Analytics fornisce statistiche dettagliate - confezionate in una elegante interfaccia utente che fa largo uso della tecnologia AJAX - grazie alle quali potremo accedere ad una serie di dati su chi visita le nostre pagine web. Il tutto supportato, inoltre, da un enorme numero di opzioni di ricerca e filtri grazie ai quali l'analisi del traffico del nostro web-site sarà incredibilmente precisa e dettagliata.

Cosa sono le Google Analytics API

Nel 2009, Google ha deciso di fornire agli utilizzatori delle API per interrogare, attraverso applicazioni esterne, le statistiche di un dato account, con sommo gaudio degli sviluppatori che, da allora, hanno un potente strumento per integrare i dati di Analytics all'interno delle loro applicazioni.
Per poter utilizzare le API di Analytics sono richiesti: Il meccanismo di recupero dei dati mediante le API funziona attraverso diverse fasi:
  1. Autenticazione dell'account Google (mediante email e password);
  2. Identificazione del profilo Analytics da cui estrarre i dati;
  3. Interrogazione (query) per ottenere i dati voluti;
  4. Recupero del risultato.

Le richieste sono soddisfatte utilizzando servizi REST, basta quindi implementare una semplice chiamata HTTP per ricevere un XML come risposta.
Un modo per fare le richieste alle API è quello di sfruttare l'estensione cURL di PHP e di parsare poi l'xml risultante con l'utilissima classe SimpleXML e la potente sintassi xpath.

Per chi non avesse il tempo o la voglia di implementarsi una classe customizzata in grado di effettuare l'autenticazione e parsare i dati, segnalo l'esistenza di una soluzione open-source in grado di svolgere tutto il lavoro al posto nostro.
Il progetto si chiama GAPI (acronimo di Google Analytics Php Interface) e lo potete trovare, con tanto di documentazione ed esempi di utilizzo, a questa pagina su Google Code.

Cos'è GAPI

GAPI è una ottima classe grazie alla quale potremo astrarci dalle operazioni atomiche richieste per connettersi, autenticarsi e recuperare i dati dal nostro Google Analytics profile.

Il core del pacchetto - che possiamo scaricare da qui - è la classe gapi che, come buona prassi vuole, troviamo nel file gapi.class.php. Completano la dotazione di questa versione (la 1.3 al momento in cui scriviamo) 4 file di esempio e un file readme.

(L'articolo continua più sotto...)

Il codice è ben scritto, robusto e ordinato quanto basta. Vediamo, brevemente, le sue caratteristiche principali:

  1. Supporto di cURL e fopen HTTP come metodi di connessione (la selezione delle api effettive è fatta a runtime dinamicamente)
  2. Utilizzo degli array PHP per specificare le metrics e le dimensions di Google Analytics che vedremo più avanti
  3. Mapping degli account in oggetti e getters disponibili per i parametri
  4. Report data object mapping - getters per metrics e parametri
  5. Meccanismo di filtering implementato con GAPI query language
  6. Codice PHP5 full Object Oriented robusto e facile da integrare nelle nostre applicazioni

Utilizzare GAPI

Ora che abbiamo un'idea di massima su quello che offre, passiamo ad integrare la classe gapi in una nostra semplice applicazione.

La struttura che vi propongo è abbastanza semplice: la nostra applicazione si compone di soli tre file:

  1. conf.ini
  2. gapi.class.php
  3. process.php

Vediamo il contenuto del nostro file di configurazione:

; Application properties
google_username = "google_username"
google_password = "google_password"
ga_id_profilo = "id_profilo"

E' importante ricordarsi di proteggere il file conf.ini evitando che sia accedibile dal Web (ad esempio utilizzando un file htaccess)

Passiamo ad analizzare il file process.php (che contiene le istruzioni vere e proprie della nostra web application):

require_once 'gapi.class.php';

$properties = parse_ini_file("conf.ini");
$gapiObj = new gapi($properties["google_username"], $properties["google_password"]);

Per ora non abbiamo fatto altro che includere la gapi class, caricare le nostre properties in una variabile di tipo array e istanziare il nostro "client". La seconda parte della nostra piccola applicazione sarà, ve lo assicuro, decisamente più interessante...

Corsi
Corso LinuxCorso Linux
Guida completa al sistema open-source. A partire da 39 €.
Corso MySQLCorso MySQL
Gestione del database open-source. A partire da 49 €.
Corso PHPCorso PHP
Corso completo per la creazione di siti Web dinamici. A partire da 49 €.
Vedi anche...
Annunci

Mr.Webmaster

Pubblicità
Chi Siamo
Contattaci
Collabora
Note Legali
© 2003 - 2012 Mr.Webmaster - Il portale dei Webmaster Italiani - Tutti i diritti riservati | Powered by IKIweb Internet Media S.r.l. - PIVA 02848390122