Sample code for 30+ languages & platforms
Go

ChartURL - Create a Signed URL

See more HTTP Misc Examples

Demonstrates how to create a signed URL for ChartURL.

Chilkat Go Downloads

Go
    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    crypt := chilkat.NewCrypt2()

    // Example key: "dek-d7a46236eda961a6c3c18ffcc6b077ba87d27e9ae85f7842c6d427c265dd5f69d5131308d93332353d4a55a4b1160fcf516515a4a9f0aa50fbf2d7a2e7d0f1c5"
    key := "charturl-sign-encrypt-key"
    // Example token: "dt-RwYN"
    token := "charturl-token"

    slug := "weekly-activity"
    data := "{ \"options\": {\"data\": {\"columns\": [[\"This Week\",10,13],[\"Last Week\",9,5]]}}}"

    crypt.SetHashAlgorithm("SHA256")
    crypt.SetMacAlgorithm("HMAC")
    crypt.SetMacKeyString(key)
    crypt.SetEncodingMode("base64")

    json := chilkat.NewJsonObject()
    json.Load(data)
    fmt.Println("json = ", *json.Emit())

    sig := crypt.MacStringENC(*json.Emit())

    sbUrl := chilkat.NewStringBuilder()
    sbUrl.Append("https://charturl.com/i/")
    sbUrl.Append(token)
    sbUrl.Append("/")
    sbUrl.Append(slug)
    sbUrl.Append("?d=")
    sbUrl.Append(*crypt.EncodeString(*json.Emit(),"utf-8","url"))
    sbUrl.Append("&s=")
    sbUrl.Append(*crypt.EncodeString(*sig,"utf-8","url"))

    fmt.Println("Signed URL: ", *sbUrl.GetAsString())

    crypt.DisposeCrypt2()
    json.DisposeJsonObject()
    sbUrl.DisposeStringBuilder()