![]() |
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
(Ruby) 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.
require 'chilkat' # 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 jsonToken = Chilkat::CkJsonObject.new() success = jsonToken.LoadFile("qa_data/tokens/_salesforce.json") if (success != true) print "Failed to load _salesforce.json" + "\n"; exit end # 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" # } oauth2 = Chilkat::CkOAuth2.new() oauth2.put_TokenEndpoint("https://login.salesforce.com/services/oauth2/token") # Replace this with your actual client ID (Consumer Key) oauth2.put_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" oauth2.put_RefreshToken(jsonToken.stringOf("refresh_token")) # Send the HTTP POST to refresh the access token.. success = oauth2.RefreshAccessToken() if (success != true) print oauth2.lastErrorText() + "\n"; exit 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. jsonToken.UpdateString("access_token",oauth2.accessToken()) # Save the new JSON access token response to a file. sbJson = Chilkat::CkStringBuilder.new() jsonToken.put_EmitCompact(false) jsonToken.EmitSb(sbJson) sbJson.WriteFile("qa_data/tokens/_salesforce.json","utf-8",false) print "OAuth2 authorization granted!" + "\n"; print "New Access Token = " + oauth2.accessToken() + "\n"; # -------------------------------------------------------------------------- # 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.