Para seguir jugando un poco con APIs hoy hice un pequeño pedazo de código para unir Google Analitics con TinyDash, primero que nada la documentación de TinyDash está en este link y la librería que estoy utilizando para Google Analitics está en esta.
TinyDash es un servicio creado por el @dfect donde podemos empezar a hacer graficas de lo que es nuestra vida, poco a poco empiezo a usarlo y mi problema es que muchas veces se me olvida ponerle valores, entonces tener la posibilidad de hacer estos pedazos de código y que se llenen solos es genial.
En este pedazo de código llamo a 4 variables de autentificación que no mostrare por razones obvias, y si desean usarlo tendrá que declararlas al inicio de su código. Las variables son $TDuser que es el usuario de TinyDash, $TDpassword el password en TinyDash, $GAuser el usuario de Google Analytics (tu cuenta de gmail) y $GApassword tu password de Google Analytics.
Después de eso tenemos un poco de código para sacar “ayer” y pedir la información una vez que terminaron las visitas.
1 2 3 4 5 | $today = mktime(0, 0, 0, date('m'), date('d') -1, date('Y')); $lastday = $today; echo $lastday.' '; $lastday = strftime("%Y-%m-%d", $lastday); |
Después usamos parte del código que recaba la información de Google Analytics sacado del ejemplo de la librería y después utilizamos CURL para mandar la información a TinyDash (subí la información de este CURL al wiki del API de TinyDash para que lo puedan usar en cualquier situación).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | require 'analytics.class.php'; try { // construct the class $oAnalytics = new analytics($GAuser, $GApassword); // set it up to use caching $oAnalytics->useCache(); $oAnalytics->setProfileByName('www.siedrix.com'); // or $oAnalytics->setProfileById('ga:123456'); // set the date range $oAnalytics->setDateRange($lastday, $lastday); // print out visitors for given period $visits = $oAnalytics->getVisitors(); foreach($visits as $day){ echo ' Las visitas el '.$lastday.' fueron '.$day; $curl_handle=curl_init(); curl_setopt($curl_handle,CURLOPT_URL,'http://tinydash.com/api/value/add/14'); curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2); curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1); curl_setopt($curl_handle, CURLOPT_POST, 1); curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "value=$day"); curl_setopt($curl_handle, CURLOPT_USERPWD, "$user:$password"); $buffer = curl_exec($curl_handle); curl_close($curl_handle); print_r($buffer); } } catch (Exception $e) { echo 'Caught exception: ' . $e->getMessage(); } |
Después de eso, solo necesitan subir el archivo con los usuarios y los passwords a un servidor y tener un cron job que lo ejecute una vez al día. De preferencia tengan un password en el archivo como este:
1 2 3 | if($_GET['password']=="ascjajknackjebajncajkqlqjundshbakjlas"){ //resto del codigo } |
Para que no llegue a ser ejecutado por error o por alguien más molestando.
Related posts: