Hi Adwords team, I'm receiving ReportDefinitionError.INVALID_REPORT_DEFINITION_ID when attempting to download a report for a previously defined report definition. I'm using an MCC account and specifying a clientEmail request header (although python's urllib2 module mangles the header name to "Clientemail"). I've included a copy of the request, response, and download attempt below. What am I missing?
SOAP REQUEST: <SOAP-ENV:Envelope xmlns:ns0="https://adwords.google.com/api/adwords/ cm/v201002" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="https://adwords.google.com/api/adwords/cm/v201002" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header> <tns:RequestHeader> <tns:authToken>REDACTED</tns:authToken> <tns:developerToken>REDACTED</tns:developerToken> <tns:userAgent>YAAAC Client (0.2alpha)</tns:userAgent> </tns:RequestHeader> </SOAP-ENV:Header> <SOAP-ENV:Body> <ns0:mutate> <ns0:operations xsi:type="ns0:ReportDefinitionOperation"> <ns0:operator>ADD</ns0:operator> <ns0:operand> <ns0:selector> <ns0:fields>Name</ns0:fields> <ns0:fields>Impressions</ns0:fields> <ns0:fields>Clicks</ns0:fields> <ns0:fields>Cost</ns0:fields> <ns0:fields>AveragePosition</ns0:fields> <ns0:dateRange> <ns0:min>20100401</ns0:min> <ns0:max>20100430</ns0:max> </ns0:dateRange> </ns0:selector> <ns0:reportName>Daily Account Report - XXX</ ns0:reportName> <ns0:reportType>CAMPAIGN_PERFORMANCE_REPORT</ ns0:reportType> <ns0:dateRangeType>CUSTOM_DATE</ns0:dateRangeType> <ns0:downloadFormat>XML</ns0:downloadFormat> </ns0:operand> </ns0:operations> </ns0:mutate> </SOAP-ENV:Body> </SOAP-ENV:Envelope> SOAP RESPONSE: <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <ResponseHeader xmlns="https://adwords.google.com/api/adwords/ cm/v201002"> <requestId>0f036bf2cb794c63efb43bdaaee1df0b</requestId> <operations>1</operations> <responseTime>220</responseTime> <units>1</units> </ResponseHeader> </soap:Header> <soap:Body> <mutateResponse xmlns="https://adwords.google.com/api/adwords/ cm/v201002"> <rval> <id>834976</id> <selector> <fields>Name</fields> <fields>Impressions</fields> <fields>Clicks</fields> <fields>Cost</fields> <fields>AveragePosition</fields> <dateRange> <min>20100401</min> <max>20100430</max> </dateRange> </selector> <reportName>Daily Account Report - XXX</reportName> <reportType>CAMPAIGN_PERFORMANCE_REPORT</reportType> <hasAttachment>false</hasAttachment> <dateRangeType>CUSTOM_DATE</dateRangeType> <downloadFormat>XML</downloadFormat> <creationTime>20100618 154234 America/Los_Angeles</ creationTime> </rval> </mutateResponse> </soap:Body> </soap:Envelope> DOWNLOAD ATTEMPT (in python): >>> headers = { 'Authorization': 'GoogleLogin auth=REDACTED' # definitely same as authToken in SOAP request. 'clientEmail': 'redac...@gmail.com', # I'm using an arbitrary client's clientEmail } >>> req = >>> urllib2.Request('https://adwords.google.com/api/adwords/reportdownload?__rd=%s'%report.id, >>> headers=headers) >>> data = urllib2.urlopen(req).read() >>> data '!!!ReportDefinitionError.INVALID_REPORT_DEFINITION_ID|||834976' -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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