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.