Perl
Perl
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 Perl Downloads
use chilkat();
$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 = chilkat::CkJsonObject->new();
$json->UpdateString("reportDescription.reportSuiteID","rsid");
$json->UpdateString("reportDescription.dateGranularity","hour");
$http = chilkat::CkHttp->new();
$dt = chilkat::CkDateTime->new();
$dt->SetFromCurrentSystemTime();
$timecreated = $dt->getAsTimestamp(0);
$prng = chilkat::CkPrng->new();
$nonce = $prng->genRandom(12,"hex");
$secret = "SECRET";
$sb = chilkat::CkStringBuilder->new();
$sb->Append($nonce);
$sb->Append($timecreated);
$sb->Append($secret);
$crypt = chilkat::CkCrypt2->new();
$crypt->put_HashAlgorithm("sha1");
$crypt->put_EncodingMode("base64");
$digest = $crypt->hashStringENC($sb->getAsString());
$sbNonce = chilkat::CkStringBuilder->new();
$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() . "\r\n";
$http->SetRequestHeader("X-WSSE",$sb->getAsString());
$resp = chilkat::CkHttpResponse->new();
$success = $http->HttpJson("POST",$url,$json,"text/json",$resp);
if ($success == 0) {
print $http->lastErrorText() . "\r\n";
exit;
}
print "Http Status code: " . $resp->get_StatusCode() . "\r\n";
print "JSON response:" . "\r\n";
print $resp->bodyStr() . "\r\n";