B4X
B4X
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 B4X Downloads
Dim success As Boolean = 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 = "https://api.omniture.com/admin/1.4/rest/?method=Report.Queue"
Dim json As ChilkatJsonObject
json.Initialize
json.UpdateString("reportDescription.reportSuiteID", "rsid")
json.UpdateString("reportDescription.dateGranularity", "hour")
Dim http As ChilkatHttp
http.Initialize("http")
Dim dt As ChilkatDateTime
dt.Initialize
dt.SetFromCurrentSystemTime
Dim timecreated As String = dt.GetAsTimestamp(False)
Dim prng As ChilkatPrng
prng.Initialize
Dim nonce As String = prng.GenRandom(12, "hex")
Dim secret As String = "SECRET"
Dim sb As ChilkatStringBuilder
sb.Initialize
sb.Append(nonce)
sb.Append(timecreated)
sb.Append(secret)
Dim crypt As ChilkatCrypt2
crypt.Initialize("crypt")
crypt.HashAlgorithm = "sha1"
crypt.EncodingMode = "base64"
Dim digest As String = crypt.HashStringENC(sb.GetAsString)
Dim sbNonce As ChilkatStringBuilder
sbNonce.Initialize
sbNonce.Append(nonce)
sbNonce.Encode("base64")
sb.Clear
sb.Append("UsernameToken Username=" & Chr(34) & "USERNAME" & Chr(34) & ", PasswordDigest=" & Chr(34))
sb.Append(digest)
sb.Append(Chr(34) & ", Nonce=" & Chr(34))
sb.Append(sbNonce.GetAsString)
sb.Append(Chr(34) & ", Created=" & Chr(34))
sb.Append(timecreated)
sb.Append(Chr(34))
Log(sb.GetAsString)
http.SetRequestHeader("X-WSSE", sb.GetAsString)
Dim resp As ChilkatHttpResponse
resp.Initialize
success = http.HttpJson("POST", url, json, "text/json", resp)
If success = False Then
Log(http.LastErrorText)
Return
End If
Log("Http Status code: " & resp.StatusCode)
Log("JSON response:")
Log(resp.BodyStr)