Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) Get Akeneo Token given Client ID and SecretAssumes 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.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Http, HttpResponse, JsonObject; ... procedure TForm1.Button1Click(Sender: TObject); var http: HCkHttp; json: HCkJsonObject; url: PWideChar; resp: HCkHttpResponse; access_token: PWideChar; expires_in: Integer; token_type: PWideChar; scope: PWideChar; refresh_token: PWideChar; begin // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http := CkHttp_Create(); // The HTTP Basic authentication for this request is the // OAuth client id and secret you've already obtained. CkHttp_putBasicAuth(http,True); CkHttp_putLogin(http,'my_akeneo_client_id'); CkHttp_putPassword(http,'my_akeneo_secret'); // Build this JSON: // { // "grant_type": "password", // "username": "yourusername", // "password": "yourpassword" // } json := CkJsonObject_Create(); CkJsonObject_UpdateString(json,'grant_type','password'); CkJsonObject_UpdateString(json,'username','my_akeneo_username'); CkJsonObject_UpdateString(json,'password','my_akeneo_password'); // POST this JSON (with the Basic Authentication header) url := 'http://pim.my-akeneo-site.com/api/oauth/v1/token'; resp := CkHttp_PostJson3(http,url,'application/json',json); if (CkHttp_getLastMethodSuccess(http) <> True) then begin Memo1.Lines.Add(CkHttp__lastErrorText(http)); Exit; end; Memo1.Lines.Add('Response status code: ' + IntToStr(CkHttpResponse_getStatusCode(resp))); Memo1.Lines.Add('Response body: ' + CkHttpResponse__bodyStr(resp)); if (CkHttpResponse_getStatusCode(resp) = 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" // } CkJsonObject_Load(json,CkHttpResponse__bodyStr(resp)); access_token := CkJsonObject__stringOf(json,'access_token'); expires_in := CkJsonObject_IntOf(json,'expires_in'); token_type := CkJsonObject__stringOf(json,'token_type'); scope := CkJsonObject__stringOf(json,'scope'); refresh_token := CkJsonObject__stringOf(json,'refresh_token'); Memo1.Lines.Add('Access Token: ' + access_token); end; CkHttpResponse_Dispose(resp); CkHttp_Dispose(http); CkJsonObject_Dispose(json); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.