Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- System.CalloutException: Unauthorized endpoint, please check Setup->Security->Remote site settings. endpoint = https://sandbox-goku.cs87.force.com/services/oauth2/token
- public class Mycontroller {
- public String accessToken {
- private set;
- get {
- if (accessToken == null) {
- accessToken = RestUtil.getAccessToken();
- }
- return accessToken;
- }
- }
- }
- public class RestUtil {
- private transient static String accessToken = '';
- public static String getAccessToken() {
- if (accessToken == '') {
- accessToken = fetchAccessToken();
- }
- return accessToken;
- }
- private static String fetchAccessToken() {
- HttpRequest authReq = buildAutHttpRequest();
- Http http = new Http();
- HttpResponse authRes = http.send(authReq);
- String accessToken = extractAccessToken(authRes);
- return accessToken;
- }
- private static String extractAccessToken(HttpResponse authRes) {
- Map<String, Object> authResult = (Map<String, Object>) JSON.deserializeUntyped(authRes.getBody());
- return (String) authResult.get('access_token');
- }
- private static HttpRequest buildAutHttpRequest() {
- HttpRequest authReq = new HttpRequest();
- authReq.setEndpoint('https://' + URL.getSalesforceBaseUrl().getHost() + '/services/oauth2/token');
- authReq.setMethod('POST');
- authReq.setBody(buildAuthRequestBody());
- return authReq;
- }
- private static String buildAuthRequestBody() {
- String template = 'grant_type=password&username={0}&password={1}&client_id={2}&client_secret={3}';
- String[] arguments = new String[]{
- AdminAuthContants.USER_NAME,
- AdminAuthContants.PASSWORD,
- AdminAuthContants.CLIENT_ID,
- AdminAuthContants.CLIENT_SECRET
- };
- return String.format(template, arguments);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement