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();
}
}
?>