Advertisement
Guest User

Untitled

a guest
Aug 17th, 2017
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.98 KB | None | 0 0
  1. System.CalloutException: Unauthorized endpoint, please check Setup->Security->Remote site settings. endpoint = https://sandbox-goku.cs87.force.com/services/oauth2/token
  2.  
  3. public class Mycontroller {
  4. public String accessToken {
  5. private set;
  6. get {
  7. if (accessToken == null) {
  8. accessToken = RestUtil.getAccessToken();
  9. }
  10.  
  11. return accessToken;
  12. }
  13. }
  14. }
  15.  
  16. public class RestUtil {
  17. private transient static String accessToken = '';
  18.  
  19. public static String getAccessToken() {
  20. if (accessToken == '') {
  21. accessToken = fetchAccessToken();
  22. }
  23.  
  24. return accessToken;
  25. }
  26.  
  27. private static String fetchAccessToken() {
  28. HttpRequest authReq = buildAutHttpRequest();
  29.  
  30. Http http = new Http();
  31.  
  32. HttpResponse authRes = http.send(authReq);
  33.  
  34. String accessToken = extractAccessToken(authRes);
  35.  
  36. return accessToken;
  37. }
  38.  
  39. private static String extractAccessToken(HttpResponse authRes) {
  40. Map<String, Object> authResult = (Map<String, Object>) JSON.deserializeUntyped(authRes.getBody());
  41.  
  42. return (String) authResult.get('access_token');
  43. }
  44.  
  45. private static HttpRequest buildAutHttpRequest() {
  46. HttpRequest authReq = new HttpRequest();
  47. authReq.setEndpoint('https://' + URL.getSalesforceBaseUrl().getHost() + '/services/oauth2/token');
  48. authReq.setMethod('POST');
  49. authReq.setBody(buildAuthRequestBody());
  50.  
  51. return authReq;
  52. }
  53.  
  54. private static String buildAuthRequestBody() {
  55. String template = 'grant_type=password&username={0}&password={1}&client_id={2}&client_secret={3}';
  56. String[] arguments = new String[]{
  57. AdminAuthContants.USER_NAME,
  58. AdminAuthContants.PASSWORD,
  59. AdminAuthContants.CLIENT_ID,
  60. AdminAuthContants.CLIENT_SECRET
  61. };
  62.  
  63. return String.format(template, arguments);
  64. }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement