Advertisement
Guest User

Untitled

a guest
Jun 25th, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. public with sharing class SalesforceReportApi {
  2.  
  3. private final static String REPORTS_RESOURCE = '/services/data/v44.0/analytics/reports/';
  4.  
  5. private static HttpResponse execute(String method, String restResource) {
  6.  
  7. HttpRequest request = new HttpRequest();
  8.  
  9. request.setMethod(method);
  10. request.setEndpoint(endpoint + restResource);
  11. request.setTimeout(120000); // 2 Minutes
  12.  
  13. request.setHeader('Accept', 'application/json');
  14. request.setHeader('Content-Type', 'application/json');
  15. request.setHeader('Authorization', 'OAuth ' + UserInfo.getSessionID());
  16. request.setHeader('Authorization', 'Bearer ' + UserInfo.getSessionID());
  17. request.setCompressed(false);
  18.  
  19. HttpResponse httpResponse = new Http().send(request);
  20.  
  21. return httpResponse;
  22. }
  23.  
  24. private static String endpoint {
  25. get {
  26. return URL.getOrgDomainUrl().toExternalForm();
  27. }
  28. }
  29.  
  30. public static MatrixReport getMatrixReport(Id reportId) {
  31.  
  32. HttpResponse response = execute(HttpMethod.GET, REPORTS_RESOURCE + reportId);
  33.  
  34. return (MatrixReport) JSON.deserialize(response.getBody(), MatrixReport.class);
  35. }
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement