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) Refresh a Constant Contact OAuth2 Access TokenRefreshes a Constant Contact OAuth2 access token. When an access token expires, HTTPS requests will receive a 401 status response indicating failure. When that happens, your application can run this code to refresh the access token, and then retry the request using the new access token. Refreshing an access token does not need user interaction (i.e. does not need to display a browser to have the user interactive authorize access). For more information, see https://v3.developer.constantcontact.com/api_guide/server_flow.html#step-5-refresh-the-access-token
Use ChilkatAx-win32.pkg Procedure Test Handle hoJsonToken Boolean iSuccess Handle hoOauth2 Variant vSbJson Handle hoSbJson String sTemp1 // This example requires 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 Constant Contact OAuth2 Access Token Get Create (RefClass(cComChilkatJsonObject)) To hoJsonToken If (Not(IsComObjectCreated(hoJsonToken))) Begin Send CreateComObject of hoJsonToken End Get ComLoadFile Of hoJsonToken "qa_data/tokens/constantContact.json" To iSuccess If (iSuccess <> True) Begin Showln "Failed to load constantContact.json" Procedure_Return End // The access token JSON looks like this: // { // "access_token": "aEr4czHReESHUGcc2LRknzsMxUbW", // "refresh_token": "s2qH27ikM7r3Ia0LrZGDOIgKw0bubUotBdJ7fTtc7y", // "token_type": "Bearer" // } Get Create (RefClass(cComChilkatOAuth2)) To hoOauth2 If (Not(IsComObjectCreated(hoOauth2))) Begin Send CreateComObject of hoOauth2 End Set ComVerboseLogging Of hoOauth2 To True Set ComTokenEndpoint Of hoOauth2 To "https://idfed.constantcontact.com/as/token.oauth2" Set ComUseBasicAuth Of hoOauth2 To True Set ComUncommonOptions Of hoOauth2 To "OAUTH2_REFRESH_NO_SCOPE" // Replace these with actual values. Set ComClientId Of hoOauth2 To "CLIENT_KEY" Set ComClientSecret Of hoOauth2 To "CLIENT_SECRET" // Get the "refresh_token" Get ComStringOf Of hoJsonToken "refresh_token" To sTemp1 Set ComRefreshToken Of hoOauth2 To sTemp1 Get ComRefreshToken Of hoOauth2 To sTemp1 Showln "Existing refresh_token: " sTemp1 // Send the HTTP POST to refresh the access token.. Get ComRefreshAccessToken Of hoOauth2 To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoOauth2 To sTemp1 Showln sTemp1 Procedure_Return End Get ComAccessToken Of hoOauth2 To sTemp1 Get ComUpdateString Of hoJsonToken "access_token" sTemp1 To iSuccess Get ComRefreshToken Of hoOauth2 To sTemp1 Get ComUpdateString Of hoJsonToken "refresh_token" sTemp1 To iSuccess // Save the new JSON access token response to a file. 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/constantContact.json" "utf-8" False To iSuccess Showln "OAuth2 token refreshed!" Get ComAccessToken Of hoOauth2 To sTemp1 Showln "New Access Token = " sTemp1 Get ComRefreshToken Of hoOauth2 To sTemp1 Showln "New refresh_token: " sTemp1 End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.