For posterity, here's the answer:

Google:

The existing documentation for v201101 cross-client reports specify
that a queryToken will get returned with the response to the download
url: http://code.google.com/apis/adwords/docs/reportingtopics.html#crossclient
>From your posted responses, I don't see a queryToken.  Are you getting
one, and are you substituting the queryToken with the one previously
received with each request to the download url?  The queryToken can
and will change between responses, and if you don't include the new
query token, it can restart the whole report, which could potentially
explain the issues you are seeing.

Me:

Yes.  Here's the complete response from the download URL:

<reportResponse>
        <queryToken>[queryToken]</queryToken>
        <state>RUNNING</state>
        <total>425</total>
        <success>0</success>
        <fail>0</fail>
</reportResponse>

I don't follow.  Here's what I'm submitting to the download URL:

Query string:  __rd=[id]
HTTP header :  Authorization=GoogleLogin auth=[authToken]
HTTP header :  clientEmail=[clientEmail]
HTTP header :  returnMoneyInMicros=true

Google:

On the cross-client reporting page I linked in my last email, it says
that the download url must also include qt=new as a query parameter.
Each response will have a queryToken specified and it must be provided
as the qt parameter in subsequent responses.  What is probably
happening is that because you are not specifying a query token on any
request, the first request politely assumes qt=new and starts a
report.  Then the next request goes in and still no queryToken, so it
starts a NEW report and you lose access to the already running
report.  That explains why each time you download you have no success/
fail entries.  Here's the relevant section from the page:  The server
returns an XML response with the query token (<queryToken>) to be used
in the next request (qt). The next request might look like this
example:  
https://adwords.google.com/api/adwords/reportdownload?__rd=382325&qt=ChtSUmxKZ2dEdE5MZ2N2dkRXbFd4==

Me:

Are you saying that when I do:

[snip]
ReportDefinitionOperation.setOperator("ADD")
ReportDefinitionOperation.setOperand(ReportDefinition)
ReportDefinitionService.mutate(ReportDefinitionOperation)

...that does *not* tell the report to "go?"  That I then have to call:

https://adwords.google.com/api/adwords/reportdownload?__rd=[id]&qt=new

...to tell the report to "go," wait 30 minutes (or whatever), and then
call:

https://adwords.google.com/api/adwords/reportdownload?__rd=[id]&qt=[queryToken]

...?

Google:

Correct, that does not start the reports.  The v201101 reports allow
sliding date ranges and are intended to be reusable - define once,
reuse many times.  We usually recommend waiting 30 seconds between
calls, but you have the process correct.  As the queryToken may change
between requests, it's a good idea to use the previous queryToken for
the next request rather than just the first one.  I'd also like to
mention that the client libraries implement this logic for you.
Here's an example in java:
http://code.google.com/p/google-api-adwords-java/source/browse/trunk/examples/v201101/DownloadMccReport.java
and python:
http://code.google.com/p/google-api-adwords-python-lib/source/browse/trunk/examples/adspygoogle/adwords/v201101/download_mcc_report.py


On Jul 13, 8:23 am, John Bliss <bliss.j...@gmail.com> wrote:
> This AM, about 22 hours after creationTime, reportdownload still
> shows:
>
> <state>RUNNING</state>
> <total>425</total>
> <success>0</success>
> <fail>0</fail>
>
> What's going on?
>
> On Jul 12, 2:01 pm, John Bliss <bliss.j...@gmail.com> wrote:
>
>
>
>
>
>
>
> > Using v201101, I requested this report for yesterday (7/11):
>
> > reportType       DESTINATION_URL_REPORT
> > creationTime     20110712 080452 America/Los_Angeles
>
> > That was created almost four hours ago. But when I call
> > reportdownload, I get:
>
> > <state>RUNNING</state>
> > <total>425</total>
> > <success>0</success>
> > <fail>0</fail>
>
> > When I create same / similar report with v13 or via AdWords Web
> > interface, it never takes longer than 30 minutes to run.
>
> > Please advise.

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