11 05 2014
Récemment, j’ai eu besoin d’utiliser Analytics pour récupérer le nombre de visiteurs pour une liste de sites.
Mon problème était que Google m’imposait un quota lorsque j’utilisais son API V1 (gapi.class.php)
La solution : passer par les « projects » de Google pour obtenir un quota de 50 000 requêtes par jour.
Je vais donc vous expliquer comment :
- Créer un projet dans la « Google APIs Console »
- Récupérer les informations importantes (Client ID / Email ID)
- Ajouter ces informations dans Google Analytics
- Faire un test d’appel en PHP
Mais avant tout, vous devez avoir OpenSSL d’installé sur votre serveur pour que cela fonctionne. Google Service ne peut fonctionner sans.
Créer un projet dans la « Google APIs Console »
Rendez-vous dans Google APIs Console à cette adresse : https://code.google.com/apis/console/
Sur la nouvelle interface, cliquez sur « Projects >> Create a Projects »
Vous obtiendrez ceci :
Renseignez ensuite le nom de votre projet et son ID (sans majuscule !)
Patientez un peu et voilà, le projet est créé.
Récupérer les informations importantes (Client ID / Email ID)
Une fois le projet créé, rendez vous à cette adresse : https://code.google.com/apis/console/
Si vous arrivez sur la liste, cliquez sur le projet concerné.
Ensuite, dans le menu de gauche, allez dans « APIs & auth >> Credentials » puis cliquez sur « Create a New Client ID ».
Choisissez « Service Account » puis téléchargez le fichier proposé (Sous la forme « 96d1dxxxxxxxxxx-privatekey » avec l’extension .p12)
Récupérer le client ID (qui ressemble à ça 123456789101112-abcdefgh1234.apps.googleusercontent.com) ainsi que l’email (qui ressemble à ceci : 123456789101112-abcdefghijkl@developer.gserviceaccount.com) dans le tableau.
Ces informations seront à placer dans notre fichier PHP. (EMAIL_ID / CLIENT_ID)
Nous avons toutes les informations nécessaires.
Ajouter ces informations dans Google Analytics
Rendez-vous à cette adresse : https://www.google.com/analytics/web/#management/Accounts/
Dans « Gestion des Utilisateurs », ajoutez l’email sauvegardé précédemment (123456789101112-abcdefghijkl@developer.gserviceaccount.com)
Assurez-vous que cet email est accès en « Lecture et Analyse » aux sites dont vous voulez récupérer les informations.
Faire un test d’appel en PHP
Télécharger le package de Google Service sur GitHub : https://github.com/google/google-api-php-client
Une fois fait, le plus dur est derrière nous.
Sur votre serveur, créez un nouveau dossier. Par exemple « GGServices ».
Placez dedans le dossier « Google » du package qui se trouve dans le dossier « src » soit le chemin complet : « google-api-php-client-master/src/Google/ » du .Zip
Placez aussi le fichier « *.p12 ». (Celui qui est sous la forme « 96d1dxxxxxxxxxx-privatekey »)
Créez ensuite un fichier Php ayant pour contenu : (En remplaçant les données par les votres) :
[cc lang= »php »]
setApplicationName(« Mon Applicatin Test »); // Nom de votre application
// set assertion credentials
$client->setAssertionCredentials(
new Google_Auth_AssertionCredentials(
« EMAIL_ID », // email sous la forme 123456789101112-abcdefghijkl@developer.gserviceaccount.com
array(‘https://www.googleapis.com/auth/analytics.readonly’),
file_get_contents(« FICHIER_P12.p12 ») // Chemin vers le fichier p12
));
// other settings
$client->setClientId(« CLIENT_ID »); // Client ID
$client->setAccessType(‘offline_access’); // Trouver sur un autre site mais pas certain que cela serve vraiment
// create service and get data
$service = new Google_Service_Analytics($client);
//Pour les visiteurs :
$dimensions = ‘ga:date,ga:year,ga:month,ga:day’; //Format de la date
$gaData =
$service->data_ga->get(
‘ga:’ . ga_site,
« 2014-05-10 »,
« 2014-05-10 »,
‘ga:visitors’,
array(‘dimensions’ => $dimensions)
);
var_dump($gaData);
//Attention: cela donnera le résultat total pour le créneau de date choisi : si sur deux jours, ce sera le total pour les deux jours !!
//Sinon , il faut parcourir les « rows »
//var_dump($gaData->totalsForAllResults[« ga:visitors »]);
?>
[/cc]
Et voilà, vous obtenez toutes les informations sur votre site.
Sur la « Google APIs Console », on peut aussi consulter le nombre de requêtes effectuées :
https://code.google.com/apis/console (dans overview)
Formulaires de paiement pour Paypal Sauvegarde d’une base Mysql avec ou sans les données
Les commentaires sont fermés.