- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-24-2022 09:44 AM
I have an outbound REST message that gets an 'auth_token' via the JSON response.
I need a script that takes the response, parses it, and captures the 'auth_token' in a variable.
I have built most of the script, but I am running into problems parsing the response.
Here is what I have so far:
try {
var r = new sn_ws.RESTMessageV2('CRM Dynamics', 'Access Token');
var response = r.execute();
var responseBody = response.getBody();
var httpStatus = response.getStatusCode();
gs.info("responseBody: " + responseBody);
gs.info("responseBody.length: " + responseBody.length);
for (var i = 0; i < responseBody.length; i++) {
//Capture the access_token value from the JSON response
}
} catch (ex) {
var message = ex.message;
}
Output in the logs:
responseBody: {
"token_type":"Bearer",
"expires_in":"3599",
"ext_expires_in":"3599",
"expires_on":"1648143633",
"not_before":"1648139733",
"resource":"test",
"access_token":"jrueion987JKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImpTMVhvMU9XRGpfNTJ2YndHTmd2UU8yVnpNYyIsImtpZCI6ImpTMVhvMU9XRGpfNTJ2YndHTmd2UU8yVnpNYyJ9.eyJhdWQiOiJodHRwczovL3VhdC5hcGkuY3JtLmR5bmFtaWNzLmNvbSIsImlzcyI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0LzRiMWM2YjU0LTQwMzEtNDgxZS1iOWM4LTkwMDBiNGUzYjJjMi8iLCJpYXQiOjE2NDgxMzk3MzMsIm5iZiI6MTY0ODEzOTczMywiZXhwIjoxNjQ4MTQzNjMzLCJhaW8iOiJFMlpnWUFoeGkvUEoyWlVmc2ZhTWhuSGVNNWZiQUE9PSIsImFwcGlkIjoiZjRhNDY2ZmEtNjY1My00ODdhLThjNDktMzlmNGY1YjQ0NjRlIiwiYXBwaWRhY3IiOiIxIiwiaWRwIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNGIxYzZiNTQtNDAzMS00ODFlLWI5YzgtOTAwMGI0ZTNiMmMyLyIsIm9pZCI6ImI1YTkzYTI5LWEwMjktNGQwYS1iOWQxLTUwZmMwN2M0M2YwOCIsInJoIjoiMC5BVVVBVkdzY1N6RkFIa2k1eUpBQXRPT3l3Z2NBQUFBQUFBQUF3QUFBQUFBQUFBQkZBQUEuIiwic3ViIjoiYjVhOTNhMjktYTAyOS00ZDBhLWI5ZDEtNTBmYzA3YzQzZjA4IiwidGlkIjoiNGIxYzZiNTQtNDAzMS00ODFlLWI5YzgtOTAwMGI0ZTNiMmMyIiwidXRpIjoiVXZhSWprU0pwRS1nU19DUldkb0JBQSIsInZlciI6IjEuMCJ9.njF8IjMRndVGwldHsRwEtAvGNTmX12B588XYUVNCbEUkP_4AoOIIxWKi3KxSLVa1PnGYHeS8wdOgRCloKA1iS7NPE4Wppe-es_WXAbVSNU65rXXdMV9SPj1dojOplaxUQFo1TqhV3P2itwHqKdY_EoeoXsBqdwxNOcmr78VCptPI-Y90jzLt7Fn6dP0yFicG6HV6C84I4gSb8pRaU1fveLwvf4vOJuI-gf30Olynaoq9mEWXvMDnkpwfBLGzJYhB6tdFzRRdoW-FmG-ETAW72NdvBRNKp7Exg5ViiKNqNra4iRoyXRkNurkPExdUq_lqJT011fJ29R69hgjfieuryb"
}
responseBody.length: 1427
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-24-2022 10:00 AM
Hi there,
You can parse the response body and grab the value directly by using JSON.parse as below:
try {
var r = new sn_ws.RESTMessageV2('CRM Dynamics', 'Access Token');
var response = r.execute();
var responseBody = response.getBody();
var httpStatus = response.getStatusCode();
gs.info("responseBody: " + responseBody);
gs.info("responseBody.length: " + responseBody.length);
var accessToken = JSON.parse(responseBody).access_token;
} catch (ex) {
var message = ex.message;
}
If this answer is helpful please mark correct and helpful!
Regards,
Christopher Perry
Regards,
Chris Perry

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-24-2022 10:00 AM
Hi there,
You can parse the response body and grab the value directly by using JSON.parse as below:
try {
var r = new sn_ws.RESTMessageV2('CRM Dynamics', 'Access Token');
var response = r.execute();
var responseBody = response.getBody();
var httpStatus = response.getStatusCode();
gs.info("responseBody: " + responseBody);
gs.info("responseBody.length: " + responseBody.length);
var accessToken = JSON.parse(responseBody).access_token;
} catch (ex) {
var message = ex.message;
}
If this answer is helpful please mark correct and helpful!
Regards,
Christopher Perry
Regards,
Chris Perry