Sample code for 30+ languages & platforms
PowerBuilder

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 PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Http
oleobject loo_Json
string ls_Url
oleobject loo_Resp
string ls_Access_token
integer li_Expires_in
string ls_Token_type
string ls_Scope
string ls_Refresh_token

li_Success = 0

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

loo_Http = create oleobject
li_rc = loo_Http.ConnectToNewObject("Chilkat.Http")
if li_rc < 0 then
    destroy loo_Http
    MessageBox("Error","Connecting to COM object failed")
    return
end if

// The HTTP Basic authentication for this request is the
// OAuth client id and secret you've already obtained.
loo_Http.BasicAuth = 1
loo_Http.Login = "my_akeneo_client_id"
loo_Http.Password = "my_akeneo_secret"

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

loo_Json = create oleobject
li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject")

loo_Json.UpdateString("grant_type","password")
loo_Json.UpdateString("username","my_akeneo_username")
loo_Json.UpdateString("password","my_akeneo_password")

// POST this JSON (with the Basic Authentication header)
ls_Url = "http://pim.my-akeneo-site.com/api/oauth/v1/token"
loo_Resp = create oleobject
li_rc = loo_Resp.ConnectToNewObject("Chilkat.HttpResponse")

li_Success = loo_Http.HttpJson("POST",ls_Url,loo_Json,"application/json",loo_Resp)
if li_Success = 0 then
    Write-Debug loo_Http.LastErrorText
    destroy loo_Http
    destroy loo_Json
    destroy loo_Resp
    return
end if

Write-Debug "Response status code: " + string(loo_Resp.StatusCode)
Write-Debug "Response body: " + loo_Resp.BodyStr

if loo_Resp.StatusCode = 200 then
    // Success.
    // Parse the response, which looks like this:

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

    loo_Json.Load(loo_Resp.BodyStr)
    ls_Access_token = loo_Json.StringOf("access_token")
    li_Expires_in = loo_Json.IntOf("expires_in")
    ls_Token_type = loo_Json.StringOf("token_type")
    ls_Scope = loo_Json.StringOf("scope")
    ls_Refresh_token = loo_Json.StringOf("refresh_token")

    Write-Debug "Access Token: " + ls_Access_token
end if



destroy loo_Http
destroy loo_Json
destroy loo_Resp