2010-10-19 17 views
1

Je cherche à alimenter des graphiques de dojo avec des données de google analytics, au sein d'une application Zend Framework. Quelqu'un at-il fait cela ou a-t-il un aperçu de la façon dont j'y procéderais? Je vois qu'il y a un dojox.data.GoogleSearchStore. Est-ce logique d'avoir un dojox.data.GoogleAnalyticsStore et est-ce que quelqu'un travaille sur quelque chose comme ça?connexion google analytics données api à dojo charts - php backend

Répondre

1

J'ai récemment réalisé un projet qui consiste à présenter les données de l'API Google Analytics à l'aide de Dojo Charts. Je ne sais pas si l'approche que j'ai utilisée était la meilleure, mais je peux au moins vous donner quelques indications.

Daniel Hartmann a un composant proposal for a Zend_Gdata_Analytics. Il n'a pas encore été approuvé mais vous pouvez trouver son code on Github et cela fonctionne parfaitement. J'ai utilisé ceci pour obtenir toutes les données dont j'avais besoin de l'analyse.

L'API Google Analytics en elle-même est assez puissante, mais il vous faut du temps pour la contourner. Essayez de comprendre la différence entre dimensions et métriques des documents de Google. Cela aide si vous considérez le service comme des requêtes de construction qui retournent une table de données (comme SQL), plutôt qu'une seule valeur. Dans ce tableau, chaque métrique que vous ajoutez à la requête ajoute une colonne de données au résultat et les dimensions sont utilisées pour restreindre et regrouper les données dans leur ensemble. Ainsi, par exemple:

$ga->newDataQuery() 
    ->addDimension(Zend_Gdata_Analytics_DataQuery::DIMENSION_DATE) 
    ->addMetric(Zend_Gdata_Analytics_DataQuery::METRIC_VISITS) 
    ->addMetric(Zend_Gdata_Analytics_DataQuery::METRIC_VISITORS) 
    ->addMetric(Zend_Gdata_Analytics_DataQuery::METRIC_PAGEVIEWS); 

vous donne le nombre total de visites, de visiteurs et de pages vues pour chaque jour.

Analytics met parfois quelques secondes pour répondre aux requêtes (en particulier les requêtes complexes), vous devez donc mettre les données en mémoire cache. Dans mon cas, je le sélectionnais à intervalles réguliers par cron et le stockais dans une base de données.

Du côté de Dojo, je ne pense pas que dojox.data.GoogleSearchStore vous aidera. J'ai utilisé une combinaison de dojo.data.ItemFileWriteStore, dojox.charting.DataSeries et Zend_Dojo_Data, mais je ne pense pas que mes exigences seraient typiques. Je suggérerais de commencer par les bases: faites travailler vos graphiques avec des exemples de données (codées en dur) avant de les essayer et déposez vos analyses. Il y a quelques tutorials on sitepen.com que j'ai trouvé utiles.

Bonne chance!