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