Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public with sharing class SalesforceReportApi {
- private final static String REPORTS_RESOURCE = '/services/data/v44.0/analytics/reports/';
- private static HttpResponse execute(String method, String restResource) {
- HttpRequest request = new HttpRequest();
- request.setMethod(method);
- request.setEndpoint(endpoint + restResource);
- request.setTimeout(120000); // 2 Minutes
- request.setHeader('Accept', 'application/json');
- request.setHeader('Content-Type', 'application/json');
- request.setHeader('Authorization', 'OAuth ' + UserInfo.getSessionID());
- request.setHeader('Authorization', 'Bearer ' + UserInfo.getSessionID());
- request.setCompressed(false);
- HttpResponse httpResponse = new Http().send(request);
- return httpResponse;
- }
- private static String endpoint {
- get {
- return URL.getOrgDomainUrl().toExternalForm();
- }
- }
- public static MatrixReport getMatrixReport(Id reportId) {
- HttpResponse response = execute(HttpMethod.GET, REPORTS_RESOURCE + reportId);
- return (MatrixReport) JSON.deserialize(response.getBody(), MatrixReport.class);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement