That looks pretty reasonable. Here's a successful request I just ran: POST https://adwords.google.com/api/adwords/reportdownload/v201306 HTTP/1.1 Content-Type: application/x-www-form-urlencoded Authorization: GoogleLogin auth=XXXXXXXXXXXXXXXXX clientCustomerId: 123-456-7890 developerToken: XXXXXXXXX returnMoneyInMicros: true Host: adwords.google.com Content-Length: 834 Expect: 100-continue Connection: Keep-Alive
__rdxml=%3creportDefinition+xmlns%3d%22https%3a%2f%2fadwords.google.com%2fapi%2fadwords%2freportdownload%2fv201306%22%3e%0d%0a%09%3cselector%3e%0d%0a%09%09%3cfields%3eAdGroupId%3c%2ffields%3e%0d%0a%09%09%3cfields%3eAdGroupName%3c%2ffields%3e%0d%0a%09%09%3cpredicates%3e%0d%0a%09%09%09%3cfield%3eCampaignId%3c%2ffield%3e%3coperator%3eEQUALS%3c%2foperator%3e%3cvalues%3e49116708%3c%2fvalues%3e%0d%0a%09%09%3c%2fpredicates%3e%0d%0a%09%09%3cdateRange%3e%3cmin%3e20000101%3c%2fmin%3e%3cmax%3e20130730%3c%2fmax%3e%3c%2fdateRange%3e%0d%0a%09%3c%2fselector%3e%0d%0a%09%3creportName%3eTest+Report+2013-07-30%3c%2freportName%3e%0d%0a%09%3creportType%3eADGROUP_PERFORMANCE_REPORT%3c%2freportType%3e%0d%0a%09%3cdateRangeType%3eCUSTOM_DATE%3c%2fdateRangeType%3e%0d%0a%09%3cdownloadFormat%3eTSV%3c%2fdownloadFormat%3e%0d%0a%3c%2freportDefinition%3e That report definition is a wee bit hard to read URL-encoded! Here's the tidy version of a similar request (different IDs, same fields): <reportDefinition xmlns="https://adwords.google.com/api/adwords/reportdownload/v201306"> <selector> <fields>AdGroupId</fields> <fields>AdGroupName</fields> <predicates> <field>CampaignId</field><operator>EQUALS</operator><values>178062468</values> </predicates> <dateRange><min>20000101</min><max>20130730</max></dateRange> </selector> <reportName>Test Report 2013-07-30</reportName> <reportType>ADGROUP_PERFORMANCE_REPORT</reportType> <dateRangeType>CUSTOM_DATE</dateRangeType> <downloadFormat>TSV</downloadFormat> </reportDefinition> I'm using a different content type, XML namespace, and date range. I'm using a simpler X=Y filter; I haven't tried X IN (A, B), I don't know the syntax for that. I don't know which of these may be causing a problem for you, but hopefully something here helps. Good luck! - Jon of All Trades On Monday, July 29, 2013 11:45:52 AM UTC-5, Keith wrote: > > Jonathan >>> >> > Thanks for the suggestion. I changed the authorization line as you > indicated. I was already using the dashes in the clientCustomerId. > However, I still got the same 400 response. Below is the actual request > (with IDs masked). If you spot anything that looks wrong, I'd love to hear > it! > > Best, Keith > > > POST > *https://adwords.google.com/api/adwords/reportdownload/v201306*<https://adwords.google.com/api/adwords/reportdownload/v201306>HTTP/1.1 > > Content-Type: multipart/form-data > > authorization: GoogleLogin auth=XXX > > developerToken: XXX > > clientCustomerId: XXX-XXX-XXXX > > returnMoneyInMicros: true > > User-Agent: Java/1.6.0_24 > > Host: adwords.google.com > > Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 > > Connection: keep-alive > > Content-Length: 3078 > > > > __rdxml="<reportDefinition xmlns=' > https://adwords.google.com/api/adwords/cm/v201306'> > > > > <selector> > > > > > <fields>CampaignId</fields> > > > > <fields>Id</fields> > > > > > <fields>Impressions</fields> > > > > > <fields>Clicks</fields> > > > > <fields>Cost</fields> > > > > > <predicates> > > > > <field>Status</field> > > > > <operator>IN</operator> > > > > > <values>ENABLED</values> > > > > <values>PAUSED</values> > > > > > </predicates> > > > > </selector> > > > > <reportName>Custom Adgroup Performance Report</reportName> > > > > > <reportType>ADGROUP_PERFORMANCE_REPORT</reportType> > > > > > <dateRangeType>LAST_7_DAYS</dateRangeType> > > > > <downloadFormat>CSV</downloadFormat> > > > > > </reportDefinition>" > > -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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.