Sample code for 30+ languages & platforms
Xojo Plugin

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 Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
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
Dim url As String
url = "https://api.omniture.com/admin/1.4/rest/?method=Report.Queue"

Dim json As New Chilkat.JsonObject
success = json.UpdateString("reportDescription.reportSuiteID","rsid")
success = json.UpdateString("reportDescription.dateGranularity","hour")

Dim http As New Chilkat.Http

Dim dt As New Chilkat.CkDateTime
success = dt.SetFromCurrentSystemTime()
Dim timecreated As String
timecreated = dt.GetAsTimestamp(False)

Dim prng As New Chilkat.Prng
Dim nonce As String
nonce = prng.GenRandom(12,"hex")

Dim secret As String
secret = "SECRET"

Dim sb As New Chilkat.StringBuilder
success = sb.Append(nonce)
success = sb.Append(timecreated)
success = sb.Append(secret)

Dim crypt As New Chilkat.Crypt2
crypt.HashAlgorithm = "sha1"
crypt.EncodingMode = "base64"
Dim digest As String
digest = crypt.HashStringENC(sb.GetAsString())

Dim sbNonce As New Chilkat.StringBuilder
success = sbNonce.Append(nonce)
success = sbNonce.Encode("base64")

sb.Clear 
success = sb.Append("UsernameToken Username=""USERNAME"", PasswordDigest=""")
success = sb.Append(digest)
success = sb.Append(""", Nonce=""")
success = sb.Append(sbNonce.GetAsString())
success = sb.Append(""", Created=""")
success = sb.Append(timecreated)
success = sb.Append("""")

System.DebugLog(sb.GetAsString())

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

Dim resp As New Chilkat.HttpResponse
success = http.HttpJson("POST",url,json,"text/json",resp)
If (success = False) Then
    System.DebugLog(http.LastErrorText)
    Return
End If

System.DebugLog("Http Status code: " + Str(resp.StatusCode))
System.DebugLog("JSON response:")
System.DebugLog(resp.BodyStr)