Good morning for all, I did the following code:
<?php define('DS', DIRECTORY_SEPARATOR); define('APPLICATION_PATH',realpath(dirname(__FILE__) . DS)); require_once APPLICATION_PATH . '/../library/Google/Api/Ads/AdWords/ Lib/AdWordsUser.php'; require_once APPLICATION_PATH . '/../library/Google/Api/Ads/AdWords/ Util/ReportUtils.php'; require_once APPLICATION_PATH . '/../library/Google/Api/Ads/AdWords/ v201008/ReportDefinitionService.php'; class ReportController { private $adwordsUser; private function getReportDefinitionForAccountPerformanceReport(ReportDefinitionService $reportDefinitionService){ $reportType = 'ACCOUNT_PERFORMANCE_REPORT'; $reportDefinitionFields = $reportDefinitionService- >getReportFields($reportType); $fieldsBlockeds = array( 'ConversionCategoryName', 'ConversionTypeName', 'ClickType', 'BudgetLostImpressionShare', 'Device', 'ExactMatchImpressionShare', 'HourOfDay', 'ImpressionShare', 'QualityLostImpressionShare' ); $fields = array(); foreach($reportDefinitionFields as $field) if(!in_array($field->fieldName,$fieldsBlockeds)) $fields[] = $field->fieldName; $selector = new Selector(); $selector->fields = $fields; $reportDefinition = new ReportDefinition(); $reportDefinition->reportName = $reportType . ' ' . time(); $reportDefinition->dateRangeType = 'LAST_7_DAYS'; $reportDefinition->reportType = $reportType; $reportDefinition->downloadFormat = 'XML'; $reportDefinition->selector = $selector; return (object) $reportDefinition; } private function getAllReportDefinition(ReportDefinitionService $reportDefinitionService){ // Create selector. $selector = new ReportDefinitionSelector(); // Get all report definitions. $page = $reportDefinitionService->get($selector); // Display report definitions. if (isset($page->entries)) { foreach ($page->entries as $reportDefinition) { printf("ReportDefinition with name '%s' and id '%s' was found.\n <br>", $reportDefinition->reportName, $reportDefinition->id); } } else { print "No report definitions were found.\n"; } } public function downloadReport($pathFileName,$reportDefinitionId){ ReportUtils::DownloadReport($reportDefinitionId, $pathFileName, $this->adwordsUser); } public function addReport($reportDefinition){ $operation = new ReportDefinitionOperation(); $operation->operand = $reportDefinition; $operation->operator = 'ADD'; $operations = array($operation); $result = $reportDefinitionService->mutate($operations); return $result; } public function removeReport($reportDefinitionId){ $reportDefinition = new ReportDefinition(); $reportDefinition->id = $reportDefinitionId; $operation = new ReportDefinitionOperation(); $operation->operand = $reportDefinition; $operation->operator = 'REMOVE'; $operations = array($operation); $result = $reportDefinitionService->mutate($operations); return $result; } public function __construct() { try { $email = 'email_cc_account_h...@gmail.com'; $pass = 'password'; $serviceVersion = 'v201101'; $userAgent = 'PHP Dynamo'; $developerToken = 'Djid_AAABBCCCDD'; //$developerToken = 'email_cc_account_h...@gmail.com++BRL'; $clientID = '000-000-0000'; //$clientID = 'client_1+email_cc_account_h...@gmail.com'; $serverData = 'https://adwords.google.com'; //$serverData = 'https://adwords-sandbox.google.com'; // Get AdWordsUser from credentials in "../auth.ini" // relative to the AdWordsUser.php file's directory. $this->adwordsUser = new AdWordsUser(null,$email,$pass, $developerToken,$userAgent,$clientID); // Log SOAP XML request and response. $this->adwordsUser->LogDefaults(); $reportDefinitionService = $this->adwordsUser- >GetReportDefinitionService($serviceVersion,$serverData); $reportDefinition = $this- >getReportDefinitionForAccountPerformanceReport($reportDefinitionService); $this->getAllReportDefinition($reportDefinitionService); $reportDefinitionId = (float) '143533360'; $pathFileName = APPLICATION_PATH . '/reportsDownloads/report'. $reportDefinitionId.'.xml'; $this->downloadReport($pathFileName,$reportDefinitionId); } catch (Exception $e) { echo $e->getMessage(); } } } // this is a instance of this class $reportController = new ReportController(); ?> But the error persists INVALID_REPORT_DEFINITION_ID. Help me please. -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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