setOption(CURLOPT_HTTPHEADER, array("X-WSSE: UsernameToken Username=\"$username\", PasswordDigest=\"$digest\", Nonce=\"$nonce\", Created=\"$nonce_ts\"")); $rc->postWebRequest($server.$path.'?method='.$method, $data); return $rc; } $method="Report.QueueRanked"; $method="Report.QueueRanked"; $data='{ "reportDescription":{ "reportSuiteID":"INSERT_REPORT_SUITE_ID_HERE", "dateFrom":"2011-05-01", "dateTo":"2011-05-15", "metrics":[{"id":"pageviews"}], "elements":[{"id":"page","top":"5"}] } }'; $rc=GetAPIData($method, $data); if ($rc->getStatusCode()==200) { $response=$rc->getWebResponse(); $json=json_decode($response); if ($json->status=='queued') { $reportID=$json->reportID; } else { $error=true; echo "not queued - "; } } else { $error=true; echo "something went really wrong\n"; var_dump($rc->getInfo()); echo "\n".$rc->getWebResponse(); } while (!$done && !$error) { sleep(15); $method="Report.GetStatus"; $data='{"reportID":"'.$reportID.'"}'; $rc=GetAPIData($method, $data); if ($rc->getStatusCode()==200) { $response=$rc->getWebResponse(); $json=json_decode($response); if ($json->status=="done") { $done=true; } else if ($json->status=="failed" || strstr($json->status, "error")>0) { $error=true; } } else { $done=true; $error=true; echo "something went really wrong\n"; var_dump($rc->getInfo()); echo "\n".$rc->getWebResponse(); } } if ($error) { echo "report failed:\n"; echo $response; } else { $method="Report.GetReport"; $data='{"reportID":"'.$reportID.'"}'; $rc=GetAPIData($method, $data); if ($rc->getStatusCode()==200) { $response=$rc->getWebResponse(); $json=json_decode($response); //var_dump($json); echo "Page - PageViews
"; foreach ($json->report->data as $el) { echo $el->name." - ".$el->counts[0]."
"; } } else { echo "something went really wrong\n"; var_dump($rc->getInfo()); echo "\n".$rc->getWebResponse(); } } ?>