![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Java) hacienda.go.cr Refrescar un TokenRefreshes an access token for the Recepción de Comprobantes Electrónicos del Ministerio de Hacienda (Costa Rica) Note: This example requires Chilkat v11.0.0 or greater. For more information, see https://www.hacienda.go.cr/ATV/ComprobanteElectronico/docs/esquemas/2016/v4.3/Guia_IdP.pdf
import com.chilkatsoft.*; public class ChilkatExample { static { try { System.loadLibrary("chilkat"); } catch (UnsatisfiedLinkError e) { System.err.println("Native code library failed to load.\n" + e); System.exit(1); } } public static void main(String argv[]) { boolean success = false; // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // It is assumed we previously obtained an OAuth2 access token. // This example loads the JSON access token file // saved by this example: Get hacienda.co.cr OAuth2 Access Token CkJsonObject jsonToken = new CkJsonObject(); success = jsonToken.LoadFile("qa_data/tokens/hacienda_cr.json"); if (success != true) { System.out.println("Failed to load constantContact.json"); return; } // The access token JSON looks like this: // { // "access_token": "ey....", // "expires_in": 300, // "id_token": "ey....", // "not-before-policy": 0, // "refresh_expires_in": 1800, // "refresh_token": "ey...", // "session_state": "...", // "token_type": "bearer" // } CkHttp http = new CkHttp(); // Implements the following CURL command: // curl -X "POST" "https://idp.comprobanteselectronicos.go.cr/auth/realms/rut-stag/protocol/openid-connect/token" \ // -H "Content-Type: application/x-www-form-urlencoded; charset=utf-8" \ // --data-urlencode "client_id=api-stag" \ // --data-urlencode "refresh_token=ey..." \ // --data-urlencode "grant_type=refresh_token" // Use the following online tool to generate HTTP code from a CURL command // Convert a cURL Command to HTTP Source Code CkHttpRequest req = new CkHttpRequest(); req.put_HttpVerb("POST"); req.put_Path("/auth/realms/rut-stag/protocol/openid-connect/token"); req.put_ContentType("application/x-www-form-urlencoded"); req.AddParam("client_id","api-stag"); req.AddParam("refresh_token",jsonToken.stringOf("refresh_token")); req.AddParam("grant_type","refresh_token"); CkHttpResponse resp = new CkHttpResponse(); success = http.HttpReq("https://idp.comprobanteselectronicos.go.cr/auth/realms/rut-stag/protocol/openid-connect/token",req,resp); if (success == false) { System.out.println(http.lastErrorText()); return; } CkStringBuilder sbResponseBody = new CkStringBuilder(); resp.GetBodySb(sbResponseBody); CkJsonObject jResp = new CkJsonObject(); jResp.LoadSb(sbResponseBody); jResp.put_EmitCompact(false); System.out.println("Response Body:"); System.out.println(jResp.emit()); int respStatusCode = resp.get_StatusCode(); System.out.println("Response Status Code = " + respStatusCode); if (respStatusCode >= 400) { System.out.println("Response Header:"); System.out.println(resp.header()); System.out.println("Failed."); return; } // Sample JSON response: // (Sample code for parsing the JSON response is shown below) // { // "access_token": "ey....", // "expires_in": 300, // "id_token": "ey....", // "not-before-policy": 0, // "refresh_expires_in": 1800, // "refresh_token": "ey...", // "session_state": "...", // "token_type": "bearer" // } // Sample code for parsing the JSON response... // Use the following online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON String access_token = jResp.stringOf("access_token"); int expires_in = jResp.IntOf("expires_in"); String id_token = jResp.stringOf("id_token"); int not_before_policy = jResp.IntOf("not-before-policy"); int refresh_expires_in = jResp.IntOf("refresh_expires_in"); String refresh_token = jResp.stringOf("refresh_token"); String session_state = jResp.stringOf("session_state"); String token_type = jResp.stringOf("token_type"); // Save the new JSON access token response to a file. success = jResp.WriteFile("qa_data/tokens/haciendda_cr.json"); } } |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.