Sample code for 30+ languages & platforms
Go

Get Akeneo Token given Client ID and Secret

See more HTTP Misc Examples

Assumes you're starting with a client ID and secret obtained from your OAuth1 provider, such as OneLogin. Demonstrates how to get an akeneo token using your client id/secret in combination with your akeneo login/password.

Chilkat Go Downloads

Go
    success := false

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

    http := chilkat.NewHttp()

    // The HTTP Basic authentication for this request is the
    // OAuth client id and secret you've already obtained.
    http.SetBasicAuth(true)
    http.SetLogin("my_akeneo_client_id")
    http.SetPassword("my_akeneo_secret")

    // Build this JSON:
    // {
    //   "grant_type": "password",
    //   "username": "yourusername",
    //   "password": "yourpassword"
    // }

    json := chilkat.NewJsonObject()
    json.UpdateString("grant_type","password")
    json.UpdateString("username","my_akeneo_username")
    json.UpdateString("password","my_akeneo_password")

    // POST this JSON (with the Basic Authentication header)
    url := "http://pim.my-akeneo-site.com/api/oauth/v1/token"
    resp := chilkat.NewHttpResponse()
    success = http.HttpJson("POST",url,json,"application/json",resp)
    if success == false {
        fmt.Println(http.LastErrorText())
        http.DisposeHttp()
        json.DisposeJsonObject()
        resp.DisposeHttpResponse()
        return
    }

    fmt.Println("Response status code: ", resp.StatusCode())
    fmt.Println("Response body: ", resp.BodyStr())

    if resp.StatusCode() == 200 {
        // Success.
        // Parse the response, which looks like this:

        // 		{
        // 		    "access_token": "MTE0NzNkNzI5YTk0ZTBlNmFlNTI5NmVkOWJhZjUxYWRkN2UzZWIwOWNkMTkwNzY5Mzk3NGViMDFmYzdlODJlMg",
        // 		    "expires_in": 3600,
        // 		    "token_type": "bearer",
        // 		    "scope": null,
        // 		    "refresh_token": "ZDkyMzA2NDhlZjQ2MGQyMDQ2MWRiMDBmOTdkZjQ5ODY5Mzc3MTEzMjVkNTkwZThmNWRlNWY0MzllYWMxZWQ5ZA"
        // 		}

        json.Load(resp.BodyStr())
        access_token := json.StringOf("access_token")
        expires_in := json.IntOf("expires_in")
        token_type := json.StringOf("token_type")
        scope := json.StringOf("scope")
        refresh_token := json.StringOf("refresh_token")

        fmt.Println("Access Token: ", *access_token)
    }


    http.DisposeHttp()
    json.DisposeJsonObject()
    resp.DisposeHttpResponse()