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

Reply via email to