Go
Go
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 Go Downloads
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.NewJsonObject()
json.UpdateString("reportDescription.reportSuiteID","rsid")
json.UpdateString("reportDescription.dateGranularity","hour")
http := chilkat.NewHttp()
dt := chilkat.NewCkDateTime()
dt.SetFromCurrentSystemTime()
timecreated := dt.GetAsTimestamp(false)
prng := chilkat.NewPrng()
nonce := prng.GenRandom(12,"hex")
secret := "SECRET"
sb := chilkat.NewStringBuilder()
sb.Append(*nonce)
sb.Append(*timecreated)
sb.Append(secret)
crypt := chilkat.NewCrypt2()
crypt.SetHashAlgorithm("sha1")
crypt.SetEncodingMode("base64")
digest := crypt.HashStringENC(*sb.GetAsString())
sbNonce := chilkat.NewStringBuilder()
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("\"")
fmt.Println(*sb.GetAsString())
http.SetRequestHeader("X-WSSE",*sb.GetAsString())
resp := chilkat.NewHttpResponse()
success = http.HttpJson("POST",url,json,"text/json",resp)
if success == false {
fmt.Println(http.LastErrorText())
json.DisposeJsonObject()
http.DisposeHttp()
dt.DisposeCkDateTime()
prng.DisposePrng()
sb.DisposeStringBuilder()
crypt.DisposeCrypt2()
sbNonce.DisposeStringBuilder()
resp.DisposeHttpResponse()
return
}
fmt.Println("Http Status code: ", resp.StatusCode())
fmt.Println("JSON response:")
fmt.Println(resp.BodyStr())
json.DisposeJsonObject()
http.DisposeHttp()
dt.DisposeCkDateTime()
prng.DisposePrng()
sb.DisposeStringBuilder()
crypt.DisposeCrypt2()
sbNonce.DisposeStringBuilder()
resp.DisposeHttpResponse()