You need to sign in to do that
Don't have an account?
Chandrakanth
Get refresh token automatically
I have been googling a lot about the fact how to get a refresh token. I have rest integration between salesforce to salesforce and it is working fine. After few hours not using the service I get this message in my debug log :
I totally understand why it is happening ( cause every access has some time limit ). Now i want to request for the refresh token ( I understood by reading multiple articles. sample). In order to request for a refresh token, we should pass some parameters as mentioned below.
The rest integration is setup using Named credentials and Auth providers.
As a work around now, when the session is expired every time, I go to connected app and re-authenticate and my code works just fine.
My goal here is, when i face this Session Expired message, i should be able refresh the token withing the same class where i am invoking the rest service so that other piece of logic works fine.
My connected app looks like this and i am doubting that i should give scope as full +refresh token. Am i correct? please let me know if anyone has suggestions.
message: System.HttpResponse[Status=Unauthorized, StatusCode=401] Session expired or invalid","errorCode":"INVALID_SESSION_ID"}]
I totally understand why it is happening ( cause every access has some time limit ). Now i want to request for the refresh token ( I understood by reading multiple articles. sample). In order to request for a refresh token, we should pass some parameters as mentioned below.
POST /services/oauth2/token HTTP/1.1 Host: https://login.salesforce.com/ grant_type=refresh_token&client_id=3MVG9lKcPoNINVBIPJjdw1J9LLM82HnFVVX19KY1uA5mu0 QqEWhqKpoW3svG3XHrXDiCQjK1mdgAvhCscA9GE&client_secret=XXXXXXXXXXXXXX &refresh_token=***your token here***But just wanted to know that from where I get &refresh_token=your token here mentioned in the above sample code.
The rest integration is setup using Named credentials and Auth providers.
As a work around now, when the session is expired every time, I go to connected app and re-authenticate and my code works just fine.
My goal here is, when i face this Session Expired message, i should be able refresh the token withing the same class where i am invoking the rest service so that other piece of logic works fine.
My connected app looks like this and i am doubting that i should give scope as full +refresh token. Am i correct? please let me know if anyone has suggestions.
May I suggest you please refer the below link for reference.
- https://help.salesforce.com/articleView?id=remoteaccess_oauth_refresh_token_flow.htm&type=0
- https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_understanding_refresh_token_oauth.htm
Let us know if it helps.Please mark it as best answer if the information is informative.so that question is removed from an unanswered question and appear as a proper solution.
Thanks
Rahul Kumar