![]() |
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
(Visual FoxPro) Salesforce OAuth2 Refresh Access TokenSee more OAuth2 ExamplesDemonstrates how to refresh a Salesforce Access Token.Note: Use Chilkat v10.1.2 or later for this example.
LOCAL loJsonToken LOCAL lnSuccess LOCAL loOauth2 LOCAL loSbJson * 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 SalesForce OAuth2 Access Token via Authorization Flow * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJsonToken = CreateObject('Chilkat.JsonObject') lnSuccess = loJsonToken.LoadFile("qa_data/tokens/_salesforce.json") IF (lnSuccess <> 1) THEN ? "Failed to load _salesforce.json" RELEASE loJsonToken CANCEL ENDIF * This is an example of a Salesforce OAuth2 access token to be refreshed: * { * "access_token": "00D41000....uLZBpT6", * "refresh_token": "5Aep....25xdGgkrV", * "signature": "cjTbSc5DvcKpaMoRTzuQTJLb1tcMw8LEO01flq4aMD4=", * "scope": "refresh_token id", * "instance_url": "https://d41000000f8a0eak-dev-ed.my.salesforce.com", * "id": "https://login.salesforce.com/id/00D41000000F8A0EAK/005410000....xAAE", * "token_type": "Bearer", * "issued_at": "1738348388166" * } * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.OAuth2') loOauth2 = CreateObject('Chilkat.OAuth2') loOauth2.TokenEndpoint = "https://login.salesforce.com/services/oauth2/token" * Replace this with your actual client ID (Consumer Key) loOauth2.ClientId = "CLIENT_ID" * Note: The client secret is not required because we configured our Connected App * to not require it for the refresh flow. See the screenshot below. * Get the "refresh_token" loOauth2.RefreshToken = loJsonToken.StringOf("refresh_token") * Send the HTTP POST to refresh the access token.. lnSuccess = loOauth2.RefreshAccessToken() IF (lnSuccess <> 1) THEN ? loOauth2.LastErrorText RELEASE loJsonToken RELEASE loOauth2 CANCEL ENDIF * 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. loJsonToken.UpdateString("access_token",loOauth2.AccessToken) * Save the new JSON access token response to a file. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder') loSbJson = CreateObject('Chilkat.StringBuilder') loJsonToken.EmitCompact = 0 loJsonToken.EmitSb(loSbJson) loSbJson.WriteFile("qa_data/tokens/_salesforce.json","utf-8",0) ? "OAuth2 authorization granted!" ? "New Access Token = " + loOauth2.AccessToken * -------------------------------------------------------------------------- * Here's a screenshot of a Salesforce Connected App * which does not requires the secret for the authorization or refresh flow. * |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.