Sample code for 30+ languages & platforms
Ruby

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 Ruby Downloads

Ruby
require 'chilkat'

success = false

# 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(false)

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() + "\n";

http.SetRequestHeader("X-WSSE",sb.getAsString())

resp = Chilkat::CkHttpResponse.new()
success = http.HttpJson("POST",url,json,"text/json",resp)
if (success == false)
    print http.lastErrorText() + "\n";
    exit
end

print "Http Status code: " + resp.get_StatusCode().to_s() + "\n";
print "JSON response:" + "\n";
print resp.bodyStr() + "\n";