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
(DataFlex) Isabel Connect Create First Access Token and Refresh TokenSee more Ibanity ExamplesCreates your first access token and refresh token. Once created, the refresh token can be used to get a new access token after it expires, or before it expires. For more information, see https://documentation.ibanity.com/isabel-connect/api#create-refresh-token
Use ChilkatAx-win32.pkg Procedure Test Handle hoHttp Variant vCert Handle hoCert Boolean iSuccess Variant vReq Handle hoReq Handle hoCrypt String sIdempotencyKey Variant vResp Handle hoResp Variant vSbResponseBody Handle hoSbResponseBody Handle hoJResp Integer iRespStatusCode String sToken_type String sScope String sRefresh_token Integer iExpires_in String sAccess_token String sTemp1 Boolean bTemp1 // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatHttp)) To hoHttp If (Not(IsComObjectCreated(hoHttp))) Begin Send CreateComObject of hoHttp End // Implements the following CURL command: // curl -X POST https://api.ibanity.com/isabel-connect/oauth2/token \ // --cert certificate.pem:qwertyuiop1 \ // --key private_key.pem \ // -H "Content-Type: application/x-www-form-urlencoded" \ // -H "Accept: application/vnd.api+json" \ // -H "Ibanity-Idempotency-Key: af621a8f-f74b-41a2-b011-336997633df4" \ // -d grant_type=authorization_code \ // -d code=valid_authorization_code \ // -d client_id=valid_client_id \ // -d client_secret=valid_client_secret \ // -d redirect_uri=https://fake-tpp.com // Ibanity provides the certificate + private key in PFX format. This example will use the .pfx instead of the pair of PEM files. // (It is also possible to implement using Chilkat with the PEM files, but PFX is easier.) Get Create (RefClass(cComChilkatCert)) To hoCert If (Not(IsComObjectCreated(hoCert))) Begin Send CreateComObject of hoCert End Get ComLoadPfxFile Of hoCert "qa_data/pfx/my_ibanity_certificate.pfx" "my_pfx_password" To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoCert To sTemp1 Showln sTemp1 Procedure_Return End Get pvComObject of hoCert to vCert Get ComSetSslClientCert Of hoHttp vCert To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End Get Create (RefClass(cComChilkatHttpRequest)) To hoReq If (Not(IsComObjectCreated(hoReq))) Begin Send CreateComObject of hoReq End Set ComHttpVerb Of hoReq To "POST" Set ComPath Of hoReq To "/isabel-connect/oauth2/token" Set ComContentType Of hoReq To "application/x-www-form-urlencoded" Send ComAddParam To hoReq "grant_type" "authorization_code" // Note: For sandbox testing, we literally want to use the strings // "valid_authorization_code", "valid_client_id", and "valid_client_secret". // For the live app, you would replace these with actual values. Send ComAddParam To hoReq "code" "valid_authorization_code" Send ComAddParam To hoReq "client_id" "valid_client_id" Send ComAddParam To hoReq "client_secret" "valid_client_secret" Send ComAddParam To hoReq "redirect_uri" "https://fake-tpp.com" Send ComAddHeader To hoReq "Accept" "application/vnd.api+json" Get Create (RefClass(cComChilkatCrypt2)) To hoCrypt If (Not(IsComObjectCreated(hoCrypt))) Begin Send CreateComObject of hoCrypt End Get ComGenerateUuid Of hoCrypt To sIdempotencyKey Showln "Ibanity-Idempotency-Key: " sIdempotencyKey Send ComAddHeader To hoReq "Ibanity-Idempotency-Key" sIdempotencyKey Get pvComObject of hoReq to vReq Get ComPostUrlEncoded Of hoHttp "https://api.ibanity.com/isabel-connect/oauth2/token" vReq To vResp If (IsComObject(vResp)) Begin Get Create (RefClass(cComChilkatHttpResponse)) To hoResp Set pvComObject Of hoResp To vResp End Get ComLastMethodSuccess Of hoHttp To bTemp1 If (bTemp1 = False) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End Get Create (RefClass(cComChilkatStringBuilder)) To hoSbResponseBody If (Not(IsComObjectCreated(hoSbResponseBody))) Begin Send CreateComObject of hoSbResponseBody End Get pvComObject of hoSbResponseBody to vSbResponseBody Get ComGetBodySb Of hoResp vSbResponseBody To iSuccess Get Create (RefClass(cComChilkatJsonObject)) To hoJResp If (Not(IsComObjectCreated(hoJResp))) Begin Send CreateComObject of hoJResp End Get pvComObject of hoSbResponseBody to vSbResponseBody Get ComLoadSb Of hoJResp vSbResponseBody To iSuccess Set ComEmitCompact Of hoJResp To False Showln "Response Body:" Get ComEmit Of hoJResp To sTemp1 Showln sTemp1 Get ComStatusCode Of hoResp To iRespStatusCode Showln "Response Status Code = " iRespStatusCode If (iRespStatusCode >= 400) Begin Showln "Response Header:" Get ComHeader Of hoResp To sTemp1 Showln sTemp1 Showln "Failed." Send Destroy of hoResp Procedure_Return End Send Destroy of hoResp // Sample JSON response: // (Sample code for parsing the JSON response is shown below) // { // "token_type": "Bearer", // "scope": "cloudconnect", // "refresh_token": "valid_refresh_token", // "expires_in": 1799, // "access_token": "access_token_1617371230" // } // Sample code for parsing the JSON response... // Use the following online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON Get ComStringOf Of hoJResp "token_type" To sToken_type Get ComStringOf Of hoJResp "scope" To sScope Get ComStringOf Of hoJResp "refresh_token" To sRefresh_token Get ComIntOf Of hoJResp "expires_in" To iExpires_in Get ComStringOf Of hoJResp "access_token" To sAccess_token // Save to a file for future use in refreshing the access token. // The refresh token is the same each time we refresh to get a new access token. Get ComWriteFile Of hoJResp "qa_data/tokens/isabel_refresh_token.json" To iSuccess // Also save to a file to be used as the current access token. Get ComWriteFile Of hoJResp "qa_data/tokens/isabel_access_token.json" To iSuccess End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.