So I just checked it with our production account and the behavior is the same. Here is the report error, for the Ad_Performance_Report w/o any campaign fields: !!!1|||9531640|||Unexpected exception???
If you add any of the campaign fields back--it works fine. The predicate is defined thus (C#): new Predicate { field = "CampaignStatus", @operator = PredicateOperator.NOT_EQUALS, operatorSpecified = true, values = new string[]{ "DELETED" } } Then for the AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT the fields below _ARE_ included in the getReportFields() with canSelect = true -- Id, Status, PlacementUrl However, if I include any of them in my ReportDefinition, then at validation I get a SOAP fault similar to this: <detail> <ApiExceptionFault xmlns="https://adwords.google.com/api/adwords/cm/ v201008"> <message>ReportDefinitionError.INVALID_FIELD_NAME_FOR_REPORT @ ; trigger:'Id'</message> <ApplicationException.Type>ApiException</ ApplicationException.Type> <errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ReportDefinitionError"> <fieldPath> </fieldPath> <trigger>Id</trigger> <errorString>ReportDefinitionError.INVALID_FIELD_NAME_FOR_REPORT</ errorString> <ApiError.Type>ReportDefinitionError</ApiError.Type> <reason>INVALID_FIELD_NAME_FOR_REPORT</reason> </errors> </ApiExceptionFault> </detail> On Dec 22, 11:55 am, AdWords API Advisor <adwordsapiadvi...@google.com> wrote: > Hi Ian, > > I'm only able to look up information about reports in the production > environment, so I'm not able to dig into the error you got. There > shouldn't be any requirement that a field needs to be in the report to > be filtered on. I tried this myself and it worked fine. There is a > known issue around filtering on CampaignStatus using PAUSED, and that > should be fixed within a few weeks after the holidays. We are working > to add more validation before the report is downloaded, but currently > some of these errors are only caught at download time. > > Regarding the fields in AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT, as I > mentioned the online documentation is a little out of date, and you > should use the fields returned by getReportFields(). > > Best, > - Eric > > On Dec 20, 6:36 pm, Ian <perig...@gmail.com> wrote: > > > I figured out the issue: > > The a sandbox version of the report: ID - 13961. > > ReportType = ReportDefinitionReportType.AD_PERFORMANCE_REPORT > > > I was thinking/hoping that like SQL you could filter on fields that you > > didn't appear in the result set. But this appears at least partially not to > > be the case. If you do not include any of the Campaign fields (CampaignId, > > CampaignName, CampaignStatus) then you cannot set a predicate on > > CampaignStatus. The odd part--at least to me--is that this passes the > > validateOnly, but fails when attempting the download. Is there any > > documentation available for these types of relationships--i.e., you must > > select fields a/b/c to filter on b? > > > The other issue we are running into is several fields that are listed in the > > getReportFields methods, fail validation when included in the selector > > despite being listed as selectable, specifically: > > For AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT -- > > Id, > > Status, > > PlacementUrl > > > These fields also happen to be missing from the previously linked ReportType > > appendix page. Again this is against the Sandbox so perhaps Production is > > different--I haven't really checked. > > > Anyway thanks for any assistance. > > > -Ian -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups "AdWords API Forum" group. To post to this group, send email to adwords-api@googlegroups.com To unsubscribe from this group, send email to adwords-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/adwords-api?hl=en