![]()  | 
  
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
 
      (DataFlex) Refresh Schwab OAuth2 Access TokenSee more Schwab ExamplesDemonstrates how to refresh a Schwab OAuth2 access token.
 Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess Handle hoJsonToken Handle hoOauth2 Variant vSbJson Handle hoSbJson String sTemp1 Move False To iSuccess // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // See Get Schwab OAuth2 Access Token // for sample code showing how to obtain a Schwab access token for desktop apps. // This example assumes we previously obtained an OAuth2 access token for Schwab. Get Create (RefClass(cComChilkatJsonObject)) To hoJsonToken If (Not(IsComObjectCreated(hoJsonToken))) Begin Send CreateComObject of hoJsonToken End Get ComLoadFile Of hoJsonToken "qa_data/tokens/schwab-access-token.json" To iSuccess If (iSuccess <> True) Begin Showln "Failed to load schwab-access-token.json" Procedure_Return End // The access token JSON looks something like this: // { // "expires_in": 3600, // "x_refresh_token_expires_in": 8726400, // "refresh_token": "L011546037639r ... 3vR2DrbOmg0Sdagw", // "access_token": "eyJlbmMiOiJBMTI4Q0 ... oETJEMbeggg", // "token_type": "bearer" // } Get Create (RefClass(cComChilkatOAuth2)) To hoOauth2 If (Not(IsComObjectCreated(hoOauth2))) Begin Send CreateComObject of hoOauth2 End Set ComTokenEndpoint Of hoOauth2 To "https://api.schwabapi.com/v1/oauth/token" // Replace these with actual values. Set ComClientId Of hoOauth2 To "APP_KEY" Set ComClientSecret Of hoOauth2 To "APP_SECRET" Set ComUseBasicAuth Of hoOauth2 To True // Get the "refresh_token" Get ComStringOf Of hoJsonToken "refresh_token" To sTemp1 Set ComRefreshToken Of hoOauth2 To sTemp1 // Send the HTTP POST to refresh the access token.. Get ComRefreshAccessToken Of hoOauth2 To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoOauth2 To sTemp1 Showln sTemp1 Procedure_Return End // The response contains a new access token, but we must keep // our existing refresh token for when we need to refresh again in the future. Get ComAccessToken Of hoOauth2 To sTemp1 Get ComUpdateString Of hoJsonToken "access_token" sTemp1 To iSuccess // Save the new JSON access token response to a file. // The access + refresh tokens contained in this JSON will be needed for the next refresh. Get Create (RefClass(cComChilkatStringBuilder)) To hoSbJson If (Not(IsComObjectCreated(hoSbJson))) Begin Send CreateComObject of hoSbJson End Set ComEmitCompact Of hoJsonToken To False Get pvComObject of hoSbJson to vSbJson Get ComEmitSb Of hoJsonToken vSbJson To iSuccess Get ComWriteFile Of hoSbJson "qa_data/tokens/schwab-access-token.json" "utf-8" False To iSuccess Showln "OAuth2 token refreshed!" Get ComAccessToken Of hoOauth2 To sTemp1 Showln "New Access Token = " sTemp1 End_Procedure  | 
  ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.