PHP ActiveX
PHP ActiveX
Adobe Analytics Reporting API (1.4)
See more HTTP Misc Examples
Demonstrates a simple POST of JSON to the Adobe Analytics Reporting API (v1.4)Chilkat PHP ActiveX Downloads
<?php
$success = 0;
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// In this example, replace "rsid" with your report suite id, and update the URL to use the correct endpoint
$url = 'https://api.omniture.com/admin/1.4/rest/?method=Report.Queue';
$json = new COM("Chilkat.JsonObject");
$json->UpdateString('reportDescription.reportSuiteID','rsid');
$json->UpdateString('reportDescription.dateGranularity','hour');
$http = new COM("Chilkat.Http");
$dt = new COM("Chilkat.CkDateTime");
$dt->SetFromCurrentSystemTime();
$timecreated = $dt->getAsTimestamp(0);
$prng = new COM("Chilkat.Prng");
$nonce = $prng->genRandom(12,'hex');
$secret = 'SECRET';
$sb = new COM("Chilkat.StringBuilder");
$sb->Append($nonce);
$sb->Append($timecreated);
$sb->Append($secret);
$crypt = new COM("Chilkat.Crypt2");
$crypt->HashAlgorithm = 'sha1';
$crypt->EncodingMode = 'base64';
$digest = $crypt->hashStringENC($sb->getAsString());
$sbNonce = new COM("Chilkat.StringBuilder");
$sbNonce->Append($nonce);
$sbNonce->Encode('base64');
$sb->Clear();
$sb->Append('UsernameToken Username=\'USERNAME\', PasswordDigest=\'');
$sb->Append($digest);
$sb->Append('\', Nonce=\'');
$sb->Append($sbNonce->getAsString());
$sb->Append('\', Created=\'');
$sb->Append($timecreated);
$sb->Append('\'');
print $sb->getAsString() . "\n";
$http->SetRequestHeader('X-WSSE',$sb->getAsString());
$resp = new COM("Chilkat.HttpResponse");
$success = $http->HttpJson('POST',$url,$json,'text/json',$resp);
if ($success == 0) {
print $http->LastErrorText . "\n";
exit;
}
print 'Http Status code: ' . $resp->StatusCode . "\n";
print 'JSON response:' . "\n";
print $resp->BodyStr . "\n";
?>