Not able to get access_token through code from salesforce. It throws 400 status code error. Below are details:
Code Used:
String clientId = ‘’;
String clientSecret = ‘’;
String refreshToken = ‘’;
String httpBody = '{' +
'"data": {' +
'"grant_type": "refresh_token",' +
'"client_id": "'+EncodingUtil.urlEncode(clientId,'UTF-8')+'",' +
'"scope": "default",' +
'"client_secret": "'+EncodingUtil.urlEncode(clientSecret,'UTF-8')+'",' +
'"refresh_token": "'+EncodingUtil.urlEncode(refreshToken,'UTF-8')+'"}}';
System.debug('body: ' + httpBody);
Http http = new Http();
HttpRequest request = new HttpRequest();
request.setEndpoint('https://app.asana.com/-/oauth_token');
request.setMethod('POST');
request.setHeader('Content-Type', 'application/x-www-form-urlencoded');
Outcome/Error:
Status: 400 Bad Request
{
"error": "unsupported_grant_type",
"error_description": "The supported grant types are `authorization_code` and `refresh_token`."
}