Thanks.  I haven't seen any report errors come through since you guys added 
the Errors object.  This was in fact my issue (along with PreferredPosition 
also being removed).

On Thursday, September 12, 2013 3:48:52 AM UTC-4, Anash P. Oommen (AdWords 
API Team) wrote:
>
> Hi Peter,
>
> BottomPosition is not a valid column as per 
> https://developers.google.com/adwords/api/docs/appendix/reports#keywords. 
> If you look at the ReportsException being thrown and then examine it's 
> Error field, you will see the cause of error.
>
> Cheers,
> Anash
>
> On Thursday, September 12, 2013 12:29:04 PM UTC+5:30, CSPeter wrote:
>>
>> I created a new program and used the c# example code from nuget.  
>>
>> Essentially, all I did was change the login type to ClientLogin, change 
>> the report type, download format to XML, and set appropriate selector 
>> fields.
>>
>> Here are the details of the modifications I made:
>> - Changed the _Main method in Program.cs to Main.
>> - Within the Main method, I created my user with an AuthorizationMethod 
>> of ClientLogin.  I replaced:
>> AdWordsUser user = new AdWordsUser();
>>
>> with:
>>   Dictionary<string, string> loginDictionary = new Dictionary<string, 
>> string>()
>>                                              {
>>                                              {"email", "us...@gmail.com
>> "},
>> {"ClientEmail", null},
>>                                              {"password", "password"},
>>                                              {"developerToken", 
>> "validdevtoken"},
>>                                              {"applicationToken", 
>> "validapptoken"},
>>                                              {"clientCustomerId", 
>> "01234"},
>>                                              {"useragent", "useragent"}
>>                                              };
>>   AdWordsUser user = new AdWordsUser(loginDictionary);
>>   AdWordsAppConfig config = (AdWordsAppConfig)user.Config;
>>   config.AuthorizationMethod = AdWordsAuthorizationMethod.ClientLogin;
>>
>> I set the project's command line arguments to:
>> v201306.DownloadCriteriaReport
>>
>> Within the DownloadCriteriaReport of the v201306 sample, I replaced: 
>>       definition.reportType = 
>> ReportDefinitionReportType.CRITERIA_PERFORMANCE_REPORT;
>>       definition.downloadFormat = DownloadFormat.GZIPPED_CSV;
>>       definition.dateRangeType = 
>> ReportDefinitionDateRangeType.LAST_7_DAYS;
>>
>>       // Create selector.
>>       Selector selector = new Selector();
>>       selector.fields = new string[] {"CampaignId", "AdGroupId", "Id", 
>> "CriteriaType", "Criteria",
>>           "CriteriaDestinationUrl", "Clicks", "Impressions", "Cost"};
>>
>> with:
>>       definition.reportType = 
>> ReportDefinitionReportType.KEYWORDS_PERFORMANCE_REPORT;
>>       definition.downloadFormat = DownloadFormat.XML;
>>       definition.dateRangeType = ReportDefinitionDateRangeType.YESTERDAY;
>>
>>       // Create selector.
>>       Selector selector = new Selector();
>>     selector.fields = new string[]
>>     {
>>     "Date", // prevent zero-impression rows
>>     "AdGroupId",
>>     "Id",
>>     "Status",
>>     "KeywordText",
>>     "KeywordMatchType",
>>     "Clicks",
>>     "Cost",
>>     "Impressions",
>>     "AveragePosition",
>>     "DestinationUrl",
>>     "FirstPageCpc",
>>     "QualityScore",
>>     "MaxCpc",
>>     "BottomPosition",
>>     "PreferredPosition",
>>     "Conversions",
>>     };
>>
>> I then ran the sample, entered a file name, and an exception was thrown.
>>
>> If I changed the report type to CAMPAIGN_PERFORMANCE_REPORT along with 
>> the set of selector fields I use in my application, it ran without error 
>> and generated a report.
>>
>> Here are the selector fields I use for CRITERIA_PERFORMANCE_REPORT (the 
>> other report I've found to fail in v201306):
>>
>>     "Date", 
>>     "AdGroupId",
>>     "Id",
>>     "Status",
>>     "CriteriaType",
>>     "AveragePosition",
>>     "CriteriaDestinationUrl",
>>     "Criteria",
>>     "FirstPageCpc",
>>     "QualityScore",
>>     "MaxCpc",
>>     "BottomPosition",
>>     "PreferredPosition",
>>
>>
>> On Tuesday, September 10, 2013 1:07:14 PM UTC-4, Anash P. Oommen (AdWords 
>> API Team) wrote:
>>>
>>> Hi Peter,
>>>
>>> Do you have a code example to illustrate the problem? That would be most 
>>> helpful.
>>>
>>> Cheers,
>>> Anash
>>>
>>> On Friday, September 6, 2013 7:51:11 PM UTC+5:30, CSPeter wrote:
>>>>
>>>> I also have this issue.  I'm running the .net client library from nuget 
>>>> (16.1.0).  When I make this call with the following report types, the 
>>>> reports are generated without errors:
>>>> CAMPAIGN_PERFORMANCE_REPORT
>>>> AD_PERFORMANCE_REPORT
>>>> ADGROUP_PERFORMANCE_REPORT
>>>>
>>>> Then when I make the same call after only changing the reporttype and 
>>>> selector, I receive an error:
>>>> KEYWORDS_PERFORMANCE_REPORT
>>>> CRITERIA_PERFORMANCE_REPORT
>>>>
>>>>
>>>> For the above reports, the following error is generated:
>>>> Google.Api.Ads.AdWords.Util.Reports.ReportsException occurred
>>>>   Message=Report download errors occurred, see errors field for more 
>>>> details.
>>>>   Source=Google.AdWords
>>>>   StackTrace:
>>>>        at 
>>>> Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadReportToStream(String
>>>>  
>>>> downloadUrl, Boolean returnMoneyInMicros, String postBody, Stream 
>>>> outputStream)
>>>>        at 
>>>> Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadClientReportInternal(String
>>>>  
>>>> downloadUrl, String postBody, Boolean returnMoneyInMicros, String path)
>>>>        at 
>>>> Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadClientReport[T](T
>>>>  
>>>> reportDefinition, Boolean returnMoneyInMicros, String path)
>>>>        at <mymethod> in <myfile>.cs:line x
>>>>   InnerException: 
>>>>
>>>>
>>>> Please note that the InnerException is empty (same as original post). 
>>>>  This is normally where we are provided details about the failure.
>>>>
>>>> All reports fail if I set the ReportVersion to v201302.  But if I 
>>>> change all code references to v201302, all of the mentioned reports run 
>>>> without error and return data. 
>>>>
>>>> As an aside, the same error occurs on all reports If I run the v201302 
>>>> code and set the ReportVersion to v201306, This may be expected behavior 
>>>> though.
>>>>
>>>>
>>>> To summarize - upgrading the code references to v201306 alone breaks 
>>>> some reports, but not all.  With the sunset date of 201302 being 2 months 
>>>> away, I hope this can be resolved quickly.
>>>>
>>>> Let me know if you need any other details.
>>>>
>>>> Thanks,
>>>> Peter
>>>>
>>>> On Thursday, August 29, 2013 7:43:25 AM UTC-4, Anash P. Oommen (AdWords 
>>>> API Team) wrote:
>>>>>
>>>>> Hi Gerhard,
>>>>>
>>>>> Did you set user.Config.ClientCustomerId at any point? AdWords API 
>>>>> reports need that to pull the relevant data even if you set prn email 
>>>>> correctly to that of your advertiser account.
>>>>>
>>>>> Cheers,
>>>>> Anash
>>>>>
>>>>> On Thursday, August 29, 2013 11:07:03 AM UTC+1, Gerhard van Deventer 
>>>>> wrote:
>>>>>>
>>>>>> HI Anash, 
>>>>>>
>>>>>> I am having a similar issue with trying to download adwords reports 
>>>>>> using the C# Api. Specifically, I am attempting to use OAuth 2.0 to act 
>>>>>> as 
>>>>>> a service account and receive errors similar to the text below: 
>>>>>>
>>>>>> Report download errors occurred, see errors field for more details.
>>>>>>    
>>>>>> at 
>>>>>> Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadReportToStream(String
>>>>>>  
>>>>>> downloadUrl, Boolean returnMoneyInMicros, String postBody, Stream 
>>>>>> outputStream)
>>>>>>    at 
>>>>>> Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadClientReportInternal(String
>>>>>>  
>>>>>> downloadUrl, String postBody, Boolean returnMoneyInMicros, String path)
>>>>>>    at 
>>>>>>   
>>>>>> The resulting CSV files are empty and do not contain any further 
>>>>>> information. Here is a brief snippet of my code: 
>>>>>>
>>>>>>             //Add the user we're going to use as well as the Report 
>>>>>> Definition. 
>>>>>>           AdWordsUser m_User = new AdWordsUser();
>>>>>>           ReportDefinition m_ReportDefinition = new 
>>>>>> ReportDefinition();
>>>>>>
>>>>>>         //Specify OAut-specific values: 
>>>>>>         config.AuthorizationMethod = 
>>>>>> AdWordsAuthorizationMethod.OAuth2;
>>>>>>         //config.OAuth2ClientId = "##########.
>>>>>> apps.googleusercontent.com";
>>>>>>         //config.OAuth2ClientSecret = "notasecret";
>>>>>>         config.OAuth2Scope = "https://adwords.google.com/api/adwords";; 
>>>>>>
>>>>>>         
>>>>>>         //Specify OAuth-specific config values for service accounts: 
>>>>>>         config.OAuth2Mode = 
>>>>>> Google.Api.Ads.Common.Lib.OAuth2Flow.SERVICE_ACCOUNT;
>>>>>>         
>>>>>>         config.OAuth2ServiceAccountEmail = "###########@
>>>>>> developer.gserviceaccount.com";
>>>>>>         config.OAuth2PrnEmail = "#####@frstia.co.za";
>>>>>>         config.OAuth2CertificatePath = 
>>>>>> @"C:\keys\#######-privatekey.p12";
>>>>>>         config.OAuth2CertificatePassword = "notasecret"; 
>>>>>>
>>>>>>         m_ReportDefinition.reportName = m_ReportName;
>>>>>>         //m_ReportDefinition.reportName = "Test Report"; 
>>>>>>
>>>>>>         //Search for appropriate enum of report type and assign it. 
>>>>>>         ReportDefinitionReportType rtype = 
>>>>>> (ReportDefinitionReportType)System.Enum.Parse(typeof(ReportDefinitionReportType),
>>>>>>  
>>>>>> m_ReportType);
>>>>>>         m_ReportDefinition.reportType = 
>>>>>> (ReportDefinitionReportType)rtype;
>>>>>>
>>>>>>                m_ReportDefinition.downloadFormat = 
>>>>>> DownloadFormat.CSV;
>>>>>>
>>>>>>         m_ReportDefinition.selector = selector;
>>>>>>         m_ReportDefinition.includeZeroImpressions = true;
>>>>>>
>>>>>>
>>>>>>  #region Invoke Report
>>>>>>         //try
>>>>>>         //{
>>>>>>         string reportName = "unspecified name";
>>>>>>         string fullReportPath = "";
>>>>>>
>>>>>>         if 
>>>>>> (!String.IsNullOrEmpty(Variables.FileDownloadLocation.ToString()))
>>>>>>         {
>>>>>>             fullReportPath = 
>>>>>> Variables.FileDownloadLocation.ToString();
>>>>>>         }
>>>>>>         else
>>>>>>         {
>>>>>>             ComponentMetaData.FireError(10, "Component Variables", 
>>>>>> "TheFileDownloadLocation variable is NULL or empty", "", 0, out cancel);
>>>>>>         }
>>>>>>
>>>>>>         if (!string.IsNullOrEmpty(m_ReportName))
>>>>>>         {
>>>>>>             reportName = m_ReportName;
>>>>>>         }
>>>>>>         fullReportPath += "\\" + m_ReportName + ".csv";
>>>>>>         ReportUtilities utilities = new ReportUtilities(m_User);
>>>>>>         utilities.ReportVersion  = "v201306";
>>>>>>
>>>>>>        utilities.DownloadClientReport(m_ReportDefinition, 
>>>>>> fullReportPath);
>>>>>>
>>>>>>
>>>>>> Any help would be greatly appreciated. 
>>>>>>
>>>>>> Thanks, 
>>>>>> Gerhard 
>>>>>>
>>>>>>
>>>>>> On Wednesday, August 14, 2013 11:11:53 AM UTC+2, Anash P. Oommen 
>>>>>> (AdWords API Team) wrote:
>>>>>>>
>>>>>>> Hi Chris,
>>>>>>>
>>>>>>> Is the issue resolved? Could you post a code snippet that shows the 
>>>>>>> issue?
>>>>>>>
>>>>>>> Cheers,
>>>>>>> Anash P. Oommen,
>>>>>>> AdWords API Advisor.
>>>>>>>
>>>>>>> On Saturday, August 3, 2013 12:20:44 AM UTC+5:30, Chris Jenkins 
>>>>>>> wrote:
>>>>>>>>
>>>>>>>> I'm just starting to dig into the api and I'm having an issue when 
>>>>>>>> I'm calling reports. I've tried various reports, but they all fail. 
>>>>>>>> I'm 
>>>>>>>> sure it has something to do with the way I'm setting it up, but the 
>>>>>>>> exception it throws never has anything in the error. It just says 
>>>>>>>> this: 
>>>>>>>>
>>>>>>>> Google.Api.Ads.AdWords.Util.Reports.ReportsException was caught
>>>>>>>>   HResult=-2146233088
>>>>>>>>   Message=Report download errors occurred, see errors field for 
>>>>>>>> more details.
>>>>>>>>   Source=Google.AdWords
>>>>>>>>   StackTrace:
>>>>>>>>        at 
>>>>>>>> Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadReportToStream(String
>>>>>>>>  
>>>>>>>> downloadUrl, Boolean returnMoneyInMicros, String postBody, Stream 
>>>>>>>> outputStream) in c:\src\MyProjects\now\Common library 
>>>>>>>> base\adwords\compile\Util\Reports\ReportUtilities.cs:line 301
>>>>>>>>        at 
>>>>>>>> Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.GetClientReportInternal(String
>>>>>>>>  
>>>>>>>> downloadUrl, String postBody, Boolean returnMoneyInMicros) in 
>>>>>>>> c:\src\MyProjects\now\Common library 
>>>>>>>> base\adwords\compile\Util\Reports\ReportUtilities.cs:line 231
>>>>>>>>        at 
>>>>>>>> Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.GetClientReport[T](T
>>>>>>>>  
>>>>>>>> reportDefinition, Boolean returnMoneyInMicros) in 
>>>>>>>> c:\src\MyProjects\now\Common library 
>>>>>>>> base\adwords\compile\Util\Reports\ReportUtilities.cs:line 153
>>>>>>>>        at GoogleAPI.Reports.Campaign_Daily.Get(AdWordsUser user) in 
>>>>>>>> c:\Users\ChrisJ\Documents\Visual Studio 
>>>>>>>> 2012\Projects\GoogleAPICodeTest\Reports\Campaign_Daily.cs:line 60
>>>>>>>>   InnerException: 
>>>>>>>>
>>>>>>>>
>>>>>>>> The errors field in the exception viewer only shows me where the 
>>>>>>>> exception came from, but otherwise it's null...any ideas?
>>>>>>>>
>>>>>>>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to