Boire ou coder ... Pourquoi choisir?
Publié le 24 avril 2009 22:00

Utiliser l'API Google Analytics avec Rails

Il y a quelques jours de cela, Google a annoncé l'ouverture de son API pour Analytics. Et du coup j'y ai jeté un coup d'oeil. Et plus particulièrement avec rails en utilisant le gem gdata.

Tout d'abord sachez que la chose a été faite un peu rapidement. Je ne l'ai pas pluginisée. J'ai uniquement fait un modèle permettant de faire les appels nécessaires; la chose est très peu testée et est surtout à utiliser pour découvrir cette API.

Voici donc mon modèle. Vous devez l'initialiser avec votre login et mot de passe :

Analytic.new 'you@example.com', 'your_password'

Puis deux méthodes y sont disponibles : find_sites, qui retourne la liste de tous les profils associés à votre compte. find_datas, qui retourne les données demandées pour tous les sites et pour la tranche de date définie. Par défaut, vous aurez le nombre de visiteurs et le nombre de pages vues pour la veille.

Du coup on peut également l'afficher : Notre contrôleur, pour récupérer les données. La vue pour les afficher. Et le code avec colorisation syntaxique.

Encore une fois, ceci est un test fait assez rapidement. Mais qui fonctionne. Si vous cherchez à utiliser la chose dans un contexte moins scolaire, je vous invite à jeter un oeil sur gattica, un gem créé spécifiquement pour récupérer les données de cette API.

L'utilisation en est assez simple. Et vous pouvez même l'utiliser en dehors de rails (mais uniquement en ruby, cela va de soi). Commencez par l'installer :

gem install cannikin-gattica -s http://gems.github.com

Puis incluez le dans votre application

require 'gattica'

Pour récupérer la liste de tous vos profils :

gs = Gattica.new 'you@example.com', 'password'
accounts = gs.accounts

Et pour récupérer les visiteurs et pages vues de la veille :

results = gs.get( :start_date => 1.day.ago.to_date.to_s(:db), :end_date => 1.day.ago.to_date.to_s(:db), :metrics => ['pageviews', 'visitors'] )

Sympa non ? :)

Commentaires

Palleas
Palleas dit: 24 avril 2009 22:00 Site web

C'est vrai que vu comme ça, ça a l'air bien pratique, à tester quand j'aurais commencé ruby :)

Arg, j'ai du retard dans HIMYM du coup !

Clément
Clément dit: 24 avril 2009 22:00 Site web

Vraiment super simple :D

Merci pour ce post ;)

Je vais tester ca directement !

@Palleas : MDR pour HIMYM C'est excellent cette série ;)

Damien
Damien dit: 24 avril 2009 22:00 Site web

Ce que je kiffe avec Gdata on Rails, c'est qu'il permet d'utiliser toutes les APIs de Google fonctionnant avec GData de manière tout aussi simple :)

@Palleas y'a pas eu d'épisode cette semaine. Le 4x21 est lundi prochain. Mais Ted a fêté ses 30 ans l'an passé le 25 avril ;)

Palleas
Palleas dit: 24 avril 2009 22:00 Site web

@Clement voui, j'suis fan /o/

@Damien tu m'as fait peur, je croyais que ! :o

Postez un commentaire

Markdown activé