Delphi ActiveX
Delphi ActiveX
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 Delphi ActiveX Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;
...
procedure TForm1.Button1Click(Sender: TObject);
var
success: Integer;
http: TChilkatHttp;
json: TChilkatJsonObject;
url: WideString;
resp: TChilkatHttpResponse;
access_token: WideString;
expires_in: Integer;
token_type: WideString;
scope: WideString;
refresh_token: WideString;
begin
success := 0;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http := TChilkatHttp.Create(Self);
// The HTTP Basic authentication for this request is the
// OAuth client id and secret you've already obtained.
http.BasicAuth := 1;
http.Login := 'my_akeneo_client_id';
http.Password := 'my_akeneo_secret';
// Build this JSON:
// {
// "grant_type": "password",
// "username": "yourusername",
// "password": "yourpassword"
// }
json := TChilkatJsonObject.Create(Self);
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 := TChilkatHttpResponse.Create(Self);
success := http.HttpJson('POST',url,json.ControlInterface,'application/json',resp.ControlInterface);
if (success = 0) then
begin
Memo1.Lines.Add(http.LastErrorText);
Exit;
end;
Memo1.Lines.Add('Response status code: ' + IntToStr(resp.StatusCode));
Memo1.Lines.Add('Response body: ' + resp.BodyStr);
if (resp.StatusCode = 200) then
begin
// 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');
Memo1.Lines.Add('Access Token: ' + access_token);
end;
end;