'GOOGLE', 'Email' => $brugernavn, 'Passwd' => $password, 'service' => 'analytics', 'source' => '' ); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); //tilføj vores data til curl $google_svar = curl_exec($ch); //udfør kald til google $google_info = curl_getinfo($ch); //hent header info curl_close($ch);//stop curl $auth = ''; if($google_info['http_code'] == 200) { //hvis http header var 200 ok så fortsætter vi //google sender en autentikations streng som vi skal bruge, denne starter med Auth= og det er det der kommer hefter vi ønsker $auth_token = array(); //preg match kan finde det preg_match('/Auth=(.*)/', $google_svar, $auth_token); if(isset($auth_token[1])) { $auth = $auth_token[1]; } } return ($auth != ''); } /** * Hent data fra url i analytics api * @param string - url vi vil hente * @return string|boolean xml output fra analytics eller false hvis fejl */ function hent_data($url) { global $auth; //gør vores auth global $headers = array("Authorization: GoogleLogin auth=$auth"); //sæt headers med auth $ch = curl_init($url); //start curl curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); //tilføj vores headers $google_svar = curl_exec($ch); //googles svar -enten en fejl eller vores feed $google_info = curl_getinfo($ch); //hent headers curl_close($ch); //stop curl if($google_info['http_code'] == 200) {//hvis ikke fejl return $google_svar; //retuner vores xml } else { //udskriv fejl for nemhedens skyld og retuner false echo '
'.$google_svar.''; return false; } } //forsøg at logge ind, giv fejl hvis ikke if (login()) { //vi er nu logget ind echo 'logget ind'; $xml = hent_data('https://www.google.com/analytics/feeds/data?ids=ga:5311824&dimensions=ga:date&metrics=ga:visits&start-date=2009-04-01&end-date=2009-04-07&prettyprint=true'); //hent data fra google if ($xml) { //er xml loadet? $xml = str_replace('dxp:','',$xml); //simple xml håndtere namespaces på en lidt besværlig måde, så for nemhedens skyld fjerner vi bare dxp: fra noder i xml dokumentet $xml = new SimpleXMLElement($xml); //start simple xml og load vores xml ind $data = array(); //array vi vil gemme vores data i foreach ($xml->entry as $entry) { //gennemløb entry da det er her vores dage er gemt $dag=date('Y-m-d',strtotime($entry->dimension->attributes()->value)); //hent dato som er vores dimension - denne er ikke formateret så det må vi selv klare med date og strtotime $antal=(integer)$entry->metric->attributes()->value; //hent antal besøg for dagen - vi er nødt til at angive datatypen her da vi ellers vil gemme et simple xml objekt $data[$dag]=$antal; //tilføj til vores data array } echo '
'; print_r($data); echo ''; } else { echo 'Fejl i xml'; } } else { //ikke logget ind echo 'Der opstod en fejl i login'; } ?>