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
(Unicode C) 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.
#include <C_CkHttpW.h> #include <C_CkJsonObjectW.h> #include <C_CkHttpResponseW.h> void ChilkatSample(void) { HCkHttpW http; HCkJsonObjectW json; const wchar_t *url; HCkHttpResponseW resp; const wchar_t *access_token; int expires_in; const wchar_t *token_type; const wchar_t *scope; const wchar_t *refresh_token; // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http = CkHttpW_Create(); // The HTTP Basic authentication for this request is the // OAuth client id and secret you've already obtained. CkHttpW_putBasicAuth(http,TRUE); CkHttpW_putLogin(http,L"my_akeneo_client_id"); CkHttpW_putPassword(http,L"my_akeneo_secret"); // Build this JSON: // { // "grant_type": "password", // "username": "yourusername", // "password": "yourpassword" // } json = CkJsonObjectW_Create(); CkJsonObjectW_UpdateString(json,L"grant_type",L"password"); CkJsonObjectW_UpdateString(json,L"username",L"my_akeneo_username"); CkJsonObjectW_UpdateString(json,L"password",L"my_akeneo_password"); // POST this JSON (with the Basic Authentication header) url = L"http://pim.my-akeneo-site.com/api/oauth/v1/token"; resp = CkHttpW_PostJson3(http,url,L"application/json",json); if (CkHttpW_getLastMethodSuccess(http) != TRUE) { wprintf(L"%s\n",CkHttpW_lastErrorText(http)); CkHttpW_Dispose(http); CkJsonObjectW_Dispose(json); return; } wprintf(L"Response status code: %d\n",CkHttpResponseW_getStatusCode(resp)); wprintf(L"Response body: %s\n",CkHttpResponseW_bodyStr(resp)); if (CkHttpResponseW_getStatusCode(resp) == 200) { // Success. // Parse the response, which looks like this: // { // "access_token": "MTE0NzNkNzI5YTk0ZTBlNmFlNTI5NmVkOWJhZjUxYWRkN2UzZWIwOWNkMTkwNzY5Mzk3NGViMDFmYzdlODJlMg", // "expires_in": 3600, // "token_type": "bearer", // "scope": null, // "refresh_token": "ZDkyMzA2NDhlZjQ2MGQyMDQ2MWRiMDBmOTdkZjQ5ODY5Mzc3MTEzMjVkNTkwZThmNWRlNWY0MzllYWMxZWQ5ZA" // } CkJsonObjectW_Load(json,CkHttpResponseW_bodyStr(resp)); access_token = CkJsonObjectW_stringOf(json,L"access_token"); expires_in = CkJsonObjectW_IntOf(json,L"expires_in"); token_type = CkJsonObjectW_stringOf(json,L"token_type"); scope = CkJsonObjectW_stringOf(json,L"scope"); refresh_token = CkJsonObjectW_stringOf(json,L"refresh_token"); wprintf(L"Access Token: %s\n",access_token); } CkHttpResponseW_Dispose(resp); CkHttpW_Dispose(http); CkJsonObjectW_Dispose(json); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.