Sample code for 30+ languages & platforms
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

B4X
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)