diff --git a/src/ForceToolkitForNET/ForceClient.cs b/src/ForceToolkitForNET/ForceClient.cs index dd7149b1..bd7f4855 100644 --- a/src/ForceToolkitForNET/ForceClient.cs +++ b/src/ForceToolkitForNET/ForceClient.cs @@ -56,6 +56,13 @@ public Task> QueryAllAsync(string query) return _jsonHttpClient.HttpGetAsync>(string.Format("queryAll/?q={0}", Uri.EscapeDataString(query))); } + public Task ExecuteReportAsync(string reportName) + { + if (string.IsNullOrEmpty(reportName)) throw new ArgumentNullException("reportName"); + + return _jsonHttpClient.HttpGetAsync(string.Format("analytics/reports/{0}?includeDetails=true", reportName)); + } + public async Task ExecuteRestApiAsync(string apiName) { if (string.IsNullOrEmpty(apiName)) throw new ArgumentNullException("apiName"); diff --git a/src/ForceToolkitForNET/IForceClient.cs b/src/ForceToolkitForNET/IForceClient.cs index fd411387..1d429daa 100644 --- a/src/ForceToolkitForNET/IForceClient.cs +++ b/src/ForceToolkitForNET/IForceClient.cs @@ -14,6 +14,7 @@ public interface IForceClient: IDisposable Task> QueryContinuationAsync(string nextRecordsUrl); Task> QueryAllAsync(string query); Task QueryByIdAsync(string objectName, string recordId); + Task ExecuteReportAsync(string reportName); Task ExecuteRestApiAsync(string apiName); Task ExecuteRestApiAsync(string apiName, object inputObject); Task CreateAsync(string objectName, object record);