Downloading Reports - jimper/googleads-dotnet-lib GitHub Wiki
AdWords API: Downloading reports
You can download AdWords API report using the ReportUtilities class. The typical usage is shown below:
Downloading report to memory
ReportUtilities utilities = new ReportUtilities(user,
"v201506", definition);
using (ReportResponse reportResponse = utilities.GetResponse()) {
byte[] reportBytes = reportResponse.Download();
string reportText = Encoding.UTF8.GetString(reportBytes);
}
If you were downloading in gzip format, this would look like:
ReportUtilities utilities = new ReportUtilities(user,
"v201506", definition);
using (ReportResponse reportResponse = utilities.GetResponse()) {
byte[] reportBytes = reportResponse.Download();
string deflatedReportText = Encoding.UTF8.GetString(
MediaUtilities.DeflateGZipData(reportResponse.Contents));
}
Downloading report to disk
ReportUtilities utilities = new ReportUtilities(user,
"v201506", definition);
using (ReportResponse reportResponse = utilities.GetResponse()) {
reportResponse.Save(filePath);
}
Streaming a report
ReportUtilities utilities = new ReportUtilities(user,
"v201506", definition);
using (ReportResponse response = utilities.GetResponse()) {
using (StreamReader reader = new StreamReader(response.Stream)) {
// Process your report here.
}
}
Downloading report asynchronously
ReportUtilities utilities = new ReportUtilities(user,
"v201506", definition);
ReportResponse reportResponse = utilities.GetResponse();
reportResponse.OnSuccess += delegate() {
// Process the file.
};
reportResponse.SaveAsync(filePath);
DFP API: Downloading reports
You can download DFP API report using the ReportUtilities class. The typical usage is shown below:
Run the report and set the download options
reportJob = reportService.runReportJob(reportJob);
ReportUtilities reportUtilities = new ReportUtilities(reportService, reportJob.id);
// Set download options.
ReportDownloadOptions options = new ReportDownloadOptions();
options.exportFormat = ExportFormat.CSV_DUMP;
options.useGzipCompression = true;
reportUtilities.reportDownloadOptions = options;
Downloading report to disk
using (ReportResponse reportResponse = reportUtilities.GetResponse()) {
reportResponse.Save(filePath);
}
Streaming a report
using (ReportResponse response = reportUtilities.GetResponse()) {
using (StreamReader reader = new StreamReader(response.Stream)) {
// Process your report here.
}
}
Downloading report asynchronously
ReportResponse reportResponse = reportUtilities.GetResponse();
reportResponse.OnSuccess += delegate() {
// Process the file.
};
reportResponse.SaveAsync(filePath);