Google Groups

Re: How to download named report C#

Ro Aug 6, 2012 1:20 PM
Posted in group: AdWords API Forum
Hey Kevin,

I saw in the example that there is a use of ReportDefinition - If I use this object it still free (rate wise) as the adhoc reports?

Isn't it a part of the ReportDefinitionService, which soon will be shut off?  

Looking forward for your reply!





On Tuesday, July 24, 2012 4:50:05 PM UTC-4, Kevin Winter wrote:
Hi Eric,
  Here's the DotNet client library example for downloading a Criteria Report via AdHoc reports:

Please note that you can optionally use AWQL to download reports now too (which is even easier):

- Kevin Winter
AdWords API Team

On Wednesday, July 18, 2012 6:05:16 AM UTC-4, Dorian Kind wrote:
Hi Eric,

I have absolutely zero knowledge of C#, but this link might help you to get a general idea about ad hoc reports: <>
It's basically a synchronous HTTP request with your report definition as data, returning the desired report.

Hope this helps,

On Tuesday, July 17, 2012 2:11:04 PM UTC+2, road11 wrote:
Thank you, Dorian. No, I didn't know that. I've been slinging Microsoft code for nearly 20 years, but still relatively new to the Adwords API with .Net. So I have to create an ad-hoc report with C# and then I can call it by it's id? Might you know of some C# examples where I can see where you do this?

Thanks in advance for your kind response.


On Tuesday, July 17, 2012 7:16:07 AM UTC-4, Dorian Kind wrote:
You probably know this, but if the reports were originally defined in the UI, they will not be available via the API. Apart from that, I can't offer any help but I'd recommend using ad hoc reports instead of the ReportDefinitionService (which will be deprecated anyway).


On Monday, July 16, 2012 8:48:00 PM UTC+2, road11 wrote:
Using the C# v201109_1 code samples as a model, I'm trying to download one of our many previously defined and named reports. Here's the code that Google gave us to get our report definitions that isn't working (assuming a valid AdwordsUser object)...

      ReportDefinitionService reportDefinitionService = (ReportDefinitionService) user.GetService(
      // Create the selector.
      ReportDefinitionSelector selector = new ReportDefinitionSelector();
      try {
        // Get all report definitions.
        ReportDefinitionPage page = reportDefinitionService.get(selector);
        // Display report definitions.
        if (page != null && page.entries != null && page.entries.Length > 0) {
          foreach (ReportDefinition reportDefinition in page.entries) {
            writer.WriteLine("ReportDefinition with name \"{0}\" and id \"{1}\" was found.",
        } else {
          writer.WriteLine("No report definitions were found.");
      } catch (Exception ex) {
        throw new System.ApplicationException("Failed to retrieve report definitions.", ex);

...however, this code keeps telling me that page.entries is null. We've got at least 1400 named reports defined in this Google Adwords account. How is it possible that this code can find none of them? I thought the selector might be the problem, but the ReportDefinitionSelector doesn't even have a fields property, so that can't be the issue. 

I would be most grateful if someone could post a (working) C# example of how to get a list of available reports and how to download a single named report from an Adwords account.

Thank you in advance.