Google Groups

Re: How to download named report C#


Dorian Kind Jul 18, 2012 3:05 AM
Posted in group: AdWords API Forum
Hi Eric,

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

Hope this helps,
Dorian

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.

Eric

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).

Cheers

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(
          AdWordsService.v201109_1.ReportDefinitionService);
 
      // 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.",
                reportDefinition.reportName, reportDefinition.id);
          }
        } 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.