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++) Banco Inter OAuth2 Client CredentialsGenerate an OAuth2 access token needed to consume the Inter APIs. For more information, see https://developers.bancointer.com.br/reference/token-3
#include <CkHttpW.h> #include <CkCertW.h> #include <CkBinDataW.h> #include <CkPrivateKeyW.h> #include <CkHttpRequestW.h> #include <CkHttpResponseW.h> #include <CkJsonObjectW.h> void ChilkatSample(void) { // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkHttpW http; bool success; // First load the certificate and private key, and set as the HTTP object's client certificate. CkCertW cert; success = cert.LoadFromFile(L"<nome arquivo certificado>.crt"); if (success == false) { wprintf(L"%s\n",cert.lastErrorText()); return; } CkBinDataW bdPrivKey; success = bdPrivKey.LoadFile(L"<nome arquivo chave privada>.key"); if (success == false) { wprintf(L"Failed to load <nome\n"); return; } CkPrivateKeyW privKey; success = privKey.LoadAnyFormat(bdPrivKey,L""); if (success == false) { wprintf(L"%s\n",privKey.lastErrorText()); return; } success = cert.SetPrivateKey(privKey); if (success == false) { wprintf(L"%s\n",cert.lastErrorText()); return; } success = http.SetSslClientCert(cert); if (success == false) { wprintf(L"%s\n",http.lastErrorText()); return; } CkHttpRequestW req; req.put_HttpVerb(L"POST"); req.put_Path(L"/oauth/v2/token"); req.put_ContentType(L"application/x-www-form-urlencoded"); req.AddParam(L"grant_type",L"client_credentials"); // Requested scopes in OAuth2 are typically SPACE separated. req.AddParam(L"scope",L"boleto-cobranca.read boleto-cobranca.write"); req.AddHeader(L"accept",L"application/json"); CkHttpResponseW *resp = http.PostUrlEncoded(L"https://cdpj.partners.bancointer.com.br/oauth/v2/token",req); if (http.get_LastMethodSuccess() == false) { wprintf(L"%s\n",http.lastErrorText()); return; } CkJsonObjectW jResp; resp->GetBodyJson(jResp); jResp.put_EmitCompact(false); wprintf(L"Response Body:\n"); wprintf(L"%s\n",jResp.emit()); int respStatusCode = resp->get_StatusCode(); wprintf(L"Response Status Code = %d\n",respStatusCode); if (respStatusCode >= 400) { wprintf(L"Response Header:\n"); wprintf(L"%s\n",resp->header()); wprintf(L"Failed.\n"); delete resp; return; } delete resp; success = jResp.WriteFile(L"qa_data/tokens/banco_inter_client_credentials.json"); if (success == false) { wprintf(L"Failed to save JSON access token file.\n"); return; } wprintf(L"Success.\n"); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.