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