Last active
September 23, 2019 05:50
-
-
Save Sunil02kumar/290f392d7565cf3dbfdfcb3057fe206d to your computer and use it in GitHub Desktop.
Box API-How to Regenerate Access Token from Refresh Token
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| public class SK_BoxAPIUtility { | |
| //static method to get access token from refresh token | |
| public static List<string> regenerateAccessToken(string clientId, string clientSecret, string refresh_token){ | |
| list<string> tokenlist = new List<string>(); | |
| HttpRequest req = new HttpRequest(); | |
| string endpointUrl='https://api.box.com/oauth2/token'; | |
| req.setbody('grant_type=refresh_token'+ | |
| '&refresh_token='+refresh_token+ | |
| '&client_id='+clientId+ | |
| '&client_secret='+clientSecret); | |
| req.setMethod('GET'); | |
| req.setEndpoint(endpointUrl); | |
| req.setTimeout(120000); | |
| //Send request to Box | |
| HTTPResponse res=performCallout(req); | |
| System.debug('*response body:'+res.getBody()); | |
| string Response=res.getBody(); | |
| System.debug(Response); | |
| // Parse JSON response to get refresh_token values. | |
| JSONParser parser = JSON.createParser(Response); | |
| while (parser.nextToken() != null) { | |
| if ((parser.getCurrentToken() == JSONToken.FIELD_NAME)){ | |
| String fieldName = parser.getText(); | |
| parser.nextToken(); | |
| if(fieldName == 'access_token') { | |
| string newaccessToken=parser.getText(); | |
| tokenlist.add(newaccessToken); | |
| }if(fieldName == 'refresh_token') { | |
| string newrefreshToken=parser.getText(); | |
| tokenlist.add(newrefreshToken); | |
| } | |
| } | |
| } | |
| system.debug('*****tokenlist:'+tokenlist); | |
| return tokenlist; | |
| } | |
| public static HttpResponse performCallout(Httprequest req){ | |
| Http h1 = new Http(); | |
| HttpResponse resp = new HttpResponse(); | |
| if(!Test.isRunningTest()){ | |
| resp= h1.send(req); | |
| } | |
| return resp; | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment