Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(MFC) Aruba Fatturazione Elettronica refreshThe token can be renewed by submitting a refresh request, which requires the following parameters in the format application/x-www-form-urlencoded with UTF-8 encoding. Refreshing the token, avoiding sending login details, offers more security and a more efficient process than requesting a new token via signin. For more information, see https://fatturazioneelettronica.aruba.it/apidoc/docs_EN.html#auth-refresh
#include <CkHttp.h> #include <CkHttpRequest.h> #include <CkHttpResponse.h> #include <CkStringBuilder.h> #include <CkJsonObject.h> void ChilkatSample(void) { CkString strOut; // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkHttp http; bool success; // Implements the following CURL command: // curl -X POST https://auth.fatturazioneelettronica.aruba.it/auth/signin \ // -H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8" \ // -d 'grant_type=refresh_token&refresh_token=ee4aae0c9d754ad08a657510cae82efe' // Use the following online tool to generate HTTP code from a CURL command // Convert a cURL Command to HTTP Source Code CkHttpRequest req; req.put_HttpVerb("POST"); req.put_Path("/auth/signin"); req.put_ContentType("application/x-www-form-urlencoded"); req.AddParam("grant_type","refresh_token"); req.AddParam("refresh_token","ee4aae0c9d754ad08a657510cae82efe"); CkHttpResponse *resp = http.PostUrlEncoded("https://auth.fatturazioneelettronica.aruba.it/auth/signin",req); if (http.get_LastMethodSuccess() == false) { strOut.append(http.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } CkStringBuilder sbResponseBody; resp->GetBodySb(sbResponseBody); CkJsonObject jResp; jResp.LoadSb(sbResponseBody); jResp.put_EmitCompact(false); strOut.append("Response Body:"); strOut.append("\r\n"); strOut.append(jResp.emit()); strOut.append("\r\n"); int respStatusCode = resp->get_StatusCode(); strOut.append("Response Status Code = "); strOut.appendInt(respStatusCode); strOut.append("\r\n"); if (respStatusCode >= 400) { strOut.append("Response Header:"); strOut.append("\r\n"); strOut.append(resp->header()); strOut.append("\r\n"); strOut.append("Failed."); strOut.append("\r\n"); delete resp; SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } delete resp; // Sample JSON response: // (Sample code for parsing the JSON response is shown below) // { // "access_token": "29dba5b2e749e403", // "token_type": "bearer", // "expires_in": 1800, // "refresh_token": "5da9e6c31c8b9b24", // "userName": "Utente", // "as:client_id": "Auth", // ".issued": "Fri, 10 Jul 2020 07:20:00 GMT", // ".expires": "Fri, 10 Jul 2020 07:50:00 GMT" // } // Sample code for parsing the JSON response... // Use the following online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON // Chilkat functions returning "const char *" return a pointer to temporary internal memory owned and managed by Chilkat. // See this example explaining how this memory should be used: const char * functions. const char *access_token = jResp.stringOf("access_token"); const char *token_type = jResp.stringOf("token_type"); int expires_in = jResp.IntOf("expires_in"); const char *refresh_token = jResp.stringOf("refresh_token"); const char *userName = jResp.stringOf("userName"); const char *as_client_id = jResp.stringOf("as:client_id"); const char *v_issued = jResp.stringOf("\".issued\""); const char *v_expires = jResp.stringOf("\".expires\""); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.