public void Run(AdWordsUser user, ReportDefinitionReportType reportType)
{
// Get the ReportDefinitionService.
ReportDefinitionService reportDefinitionService = (ReportDefinitionService) user.GetService(
AdWordsService.v201306.ReportDefinitionService);
try {
// Get the report fields.
ReportDefinitionField[] reportDefinitionFields = reportDefinitionService.getReportFields(
reportType);
if (reportDefinitionFields != null && reportDefinitionFields.Length > 0) {
// Display report fields.
Console.WriteLine("The report type '{0}' contains the following fields:", reportType);
foreach (ReportDefinitionField reportDefinitionField in reportDefinitionFields) {
Console.Write("- {0} ({1})", reportDefinitionField.fieldName,
reportDefinitionField.fieldType);
if (reportDefinitionField.enumValues != null) {
Console.Write(" := [{0}]", String.Join(", ", reportDefinitionField.enumValues));
}
Console.WriteLine();
}
} else {
Console.WriteLine("This report type has no fields.");
}
} catch (Exception ex) {
throw new System.ApplicationException("Failed to retrieve fields for report type.", ex);
}
}