Analyseweb.fr  
Le forum de la communauté francophone
des web analytics

Septembre 03, 2010, 10:10:01 *
Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.

Connexion avec identifiant, mot de passe et durée de la session
Nouvelles: Bienvenue sur ce forum! Pensez à vous présenter!
Accueil Aide Rechercher Identifiez-vous Inscrivez-vous
Pages: [1]
Imprimer
Auteur Fil de discussion: Petit exemple d'implémentation de l'API GA  (Lu 4341 fois)
Julien Coquet
Responsable Web Analytics Association France
Administrateur
Confirmé
*****
Hors ligne Hors ligne

Messages: 938


Responsable WAA France


Voir le profil WWW
« le: Avril 22, 2009, 12:38:02 »

Récupération du nombre de visites sur une période donnée avec PHP/Zend Framework:

Code:
<?php
include_once ("zend/library/Zend/Loader.php"); //chemin vers la librairie Zend
Zend_Loader::registerAutoload();

$username "votreadresse.gmail@gmail.com";
$password "votre_mot_de_passe_GA";



$metric = array(
"id"  => "ga:visits",
"name" => "Visits"
);

$profileID = array(
"12345678" => "analyseweb.fr"

);
// cet array contient les ID des différents profils que vous voulez traiter

$client Zend_Gdata_ClientLogin::getHttpClient($username$password"analytics");
$token $client->getClientLoginToken();
// le token vous sert à interroger l'API, vous vous en servirez ultérieurement

foreach ($profileID as $key=>$value){
print "\nProcessing: $value\n";
$client ->setHeaders"Authorization: GoogleLogin auth=".$token );
$client ->setUri("https://www.google.com/analytics/feeds/data?start-date=2009-03-01&end-date=2009-03-30&metrics=".$metric["id"]."&max-results=100&prettyprint=true&ids=ga:".$key); // on envoie la bonne requete, ici les visites
$r $client ->request(Zend_Http_Client::GET);
//On récupère un flux XML
$xmlBody $r->getBody();

print_r($xmlBody); // petit output du flux XML de retour

$xmlBody = @str_replace('dxp:','',$xmlBody); // on fait un peu de nettoyage dans le nom des balises du flux
$parser = @simplexml_load_string($xmlBody);
print $metric["name"] ." : " .$parser->entry->metric['value']; // on affiche les valeurs qui vont bien
}
et voilou ;-)

Amusez-vous bien!
« Dernière édition: Avril 22, 2009, 12:42:07 par Julien Coquet » Journalisée

Responsable Web Analytics Association - France
Directeur Web Analytics, Consultant Senior - Hub'Sales
AnalyseWeb.fr | Blog
kitten13
Néophyte
*
Hors ligne Hors ligne

Messages: 2


Voir le profil
« Répondre #1 le: Avril 22, 2009, 11:10:17 »

Merci  Clin d'oeil
Journalisée
n.guillard
Néophyte
*
Hors ligne Hors ligne

Messages: 33


Consultant SEO & WA


Voir le profil WWW
« Répondre #2 le: Avril 22, 2009, 11:24:52 »

Tu n'aurais pas pu utiliser un langage digne de ce nom ? (java par exemple... pfff)  Sourire

PS : ça me permet d'avoir un post en plus  Grima&ccedil;ant
Journalisée

Nicolas GUILLARD
demarcq
Néophyte
*
Hors ligne Hors ligne

Messages: 2


Voir le profil
« Répondre #3 le: Avril 22, 2009, 04:12:56 »

Bonjour,

Je viens de tester ce bout de code et j'obtiens en retour une erreur 400 malgré le fait que j'obtienne bien précédemment un token d'authentification...
https://www.google.com/analytics/feeds/accounts/default Me renvois aussi un 400...
Bad Request
Your client has issued a malformed or illegal request.

Vous avez réussi vous ?
« Dernière édition: Avril 22, 2009, 04:15:47 par demarcq » Journalisée
demarcq
Néophyte
*
Hors ligne Hors ligne

Messages: 2


Voir le profil
« Répondre #4 le: Avril 22, 2009, 04:19:06 »

Bon, j'ai fini par trouver :

$client = Zend_Gdata_ClientLogin::getHttpClient($username, $password, "analytics");
$token = $client->getClientLoginToken();

$x="https://www.google.com/analytics/feeds/accounts/default";
$client2 = new Zend_Http_Client($x);
$client2 ->setHeaders( "Authorization: GoogleLogin auth=".$token );
$r = $client2 ->request(Zend_Http_Client::GET);
$xmlBody = $r->getBody();
print_r($xmlBody);
Journalisée
Julien Coquet
Responsable Web Analytics Association France
Administrateur
Confirmé
*****
Hors ligne Hors ligne

Messages: 938


Responsable WAA France


Voir le profil WWW
« Répondre #5 le: Avril 22, 2009, 08:09:52 »

et hop une démo de camembert!

en PJ
Journalisée

Responsable Web Analytics Association - France
Directeur Web Analytics, Consultant Senior - Hub'Sales
AnalyseWeb.fr | Blog
kitten13
Néophyte
*
Hors ligne Hors ligne

Messages: 2


Voir le profil
« Répondre #6 le: Avril 22, 2009, 11:05:45 »

J'obtiens une erreur que j'arrive pas à résoudre

Citation
Parse error: syntax error, unexpected ')', expecting '(' in /ana.php on line 29

qui corresponds à la ligne :

Code:
$r = $client ->request(Zend_Http_Client::GET);

 Huh
Journalisée
Julien Coquet
Responsable Web Analytics Association France
Administrateur
Confirmé
*****
Hors ligne Hors ligne

Messages: 938


Responsable WAA France


Voir le profil WWW
« Répondre #7 le: Avril 22, 2009, 11:51:35 »

pas d'espace entre client et ->
Journalisée

Responsable Web Analytics Association - France
Directeur Web Analytics, Consultant Senior - Hub'Sales
AnalyseWeb.fr | Blog
Julien Coquet
Responsable Web Analytics Association France
Administrateur
Confirmé
*****
Hors ligne Hors ligne

Messages: 938


Responsable WAA France


Voir le profil WWW
« Répondre #8 le: Avril 22, 2009, 11:53:54 »

démo du camembert visible sur http://analyseweb.fr/apiga/vis.html

soyez indulgents, j'ai codé çà en 5 minutes Tire la langue
Journalisée

Responsable Web Analytics Association - France
Directeur Web Analytics, Consultant Senior - Hub'Sales
AnalyseWeb.fr | Blog
Pages: [1]
Imprimer
Aller à:  

Flux RSS du forum  Flux RSS Powered by SMF 1.1.11 | SMF © 2006-2007, Simple Machines LLC
Page générée en 0.247 secondes avec 20 requêtes. (Pretty URLs adds 0.136s, 2q)

Google a visite cette page Aot 27, 2010, 01:44:23