Hi,

Reports will not actually be generated in the sandbox environment, and
a dummy XML file will be returned.  Run the code against the
production environment to get actual results.

Best,
- Eric Koleda, AdWords API Team

On Nov 28, 6:58 pm, Dharmendra Chaudhary <dharmendra....@gmail.com>
wrote:
> AdWords API ReportService job runs, but report/record is not available
> at the url that was returned/empty
>
> The only changes I made to the example were
>
> <?php
> require_once('soapclientfactory.php');
>
> # Provide AdWords login information.
> $email = 'i...@aziatischekunst.com';
> $password = 'startthis';
> $client_email =’abc.com';
> $useragent = 'abcd';
> $developer_token = abc.com++USD';
> $application_token = 'INSERT_APPLICATION_TOKEN_HERE';
> # Define SOAP headers.
> $headers =
>   '<email>' . $email . '</email>'.
>   '<password>' . $password . '</password>' .
>   '<clientEmail>' . $client_email . '</clientEmail>' .
>   '<useragent>' . $useragent . '</useragent>' .
>   '<developerToken>' . $developer_token . '</developerToken>' .
>   '<applicationToken>' . $application_token . '</applicationToken>';
>
> # Set up service connection. To view XML request/response, change
> value of
> # $debug to 1. To send requests to production environment, replace
> # "sandbox.google.com" with "adwords.google.com".
> $namespace = 'https://sandbox.google.com/api/adwords/v13';
>
> $report_service =
>   SoapClientFactory::GetClient($namespace . '/ReportService?wsdl',
> 'wsdl');
> $report_service->setHeaders($headers);
> $debug = 1;
>
> # Create report job structure.
> $report_job =
>   '<selectedReportType>Keyword</selectedReportType>' .
>   '<name>Sample Keyword Report</name>' .
>   '<aggregationTypes>Summary</aggregationTypes>' .
>   '<adWordsType>SearchOnly</adWordsType>' .
>   '<keywordType>Broad</keywordType>' .
>   '<startDay>2009-10-29</startDay>' .
>   '<endDay>2009-11-29</endDay>' .
>   '<selectedColumns>Campaign</selectedColumns>' .
>   '<selectedColumns>AdGroup</selectedColumns>' .
>   '<selectedColumns>Keyword</selectedColumns>' .
>   '<selectedColumns>KeywordStatus</selectedColumns>' .
>   '<selectedColumns>KeywordMinCPC</selectedColumns>' .
>   '<selectedColumns>KeywordDestUrlDisplay</selectedColumns>' .
>   '<selectedColumns>Impressions</selectedColumns>' .
>   '<selectedColumns>Clicks</selectedColumns>' .
>   '<selectedColumns>CTR</selectedColumns>' .
>   '<selectedColumns>AveragePosition</selectedColumns>';
> $request_xml =
>   '<validateReportJob>' .
>   '<job xmlns:impl="https://adwords.google.com/api/adwords/v13"; ' .
>   'xsi:type="impl:DefinedReportJob">' .
>   $report_job .
>   '</job>' .
>   '</validateReportJob>';
>
> # Validate report.
> $report_service->call('validateReportJob', $request_xml);
> if ($debug) show_xml($report_service);
> if ($report_service->fault) show_fault($report_service);
>
> # Schedule report.
> $request_xml =
>   '<scheduleReportJob>' .
>   '<job xmlns:impl="https://adwords.google.com/api/adwords/v13"; ' .
>   'xsi:type="impl:DefinedReportJob">' .
>   $report_job .
>   '</job>' .
>   '</scheduleReportJob>';
> $job_id = $report_service->call('scheduleReportJob', $request_xml);
> $job_id = $job_id['scheduleReportJobReturn'];
> if ($debug) show_xml($report_service);
> if ($report_service->fault) show_fault($service);
>
> # Wait for report to finish.
> $request_xml =
>   '<getReportJobStatus>' .
>   '<reportJobId>' .
>   $job_id .
>   '</reportJobId>' .
>   '</getReportJobStatus>';
> $status = $report_service->call('getReportJobStatus', $request_xml);
> $status = $status['getReportJobStatusReturn'];
> if ($debug) show_xml($report_service);
> if ($report_service->fault) show_fault($service);
> while ($status != 'Completed' and $status != 'Failed') {
>   echo 'Report job status is "' . $status . '".' . "\n";
>   sleep(30);
>   $status = $report_service->call('getReportJobStatus', $request_xml);
>   $status = $status['getReportJobStatusReturn'];
>   if ($debug) show_xml($report_service);
>   if ($report_service->fault) show_fault($service);
>
> }
>
> if ($status == 'Failed') {
>   echo 'Report job generation failed.' . "\n";
>   return;
>
> }
>
> # Download report.
> $request_xml =
>   '<getGzipReportDownloadUrl>' .
>   '<reportJobId>' .
>   $job_id .
>   '</reportJobId>' .
>   '</getGzipReportDownloadUrl>';
> $report_url = $report_service->call('getGzipReportDownloadUrl',
> $request_xml);
> $report_url = $report_url['getGzipReportDownloadUrlReturn'];
> if ($debug) show_xml($report_service);
> if ($report_service->fault) show_fault($service);
> echo 'Report is available at "' . $report_url . '".' . "\n";
>
> function show_xml($service) {
>   echo $service->request;
>   echo $service->response;
>   echo "\n";
>
> }
>
> function show_fault($service) {
>   echo "\n";
>   echo 'Fault: ' . $service->fault . "\n";
>   echo 'Code: ' . $service->faultcode . "\n";
>   echo 'String: ' . $service->faultstring . "\n";
>   echo 'Detail: ' . $service->faultdetail . "\n";
>   exit(0);}
>
> ?>

--

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-...@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