Cross client reports are not yet available. Check the Adwords blog for more
details:
http://adwordsapi.blogspot.com/2011/03/update-to-reporting-service-in-adwords.html
>
>
> i used the aw_api_php_lib_2.5.1.
>
> how i can download a cross client report?
>
> A single report is not a Problem, but crossclient....
>
> My Code is:
> [code]
> public function download() {
> require_once 'Google/Api/Ads/AdWords/Lib/
> AdWordsUser.php';
> require_once 'Google/Api/Ads/AdWords/Util/ReportUtils.php';
> require_once
> 'Google/Api/Ads/AdWords/v201101/cm/ReportDefinitionService.php';
> require_once 'Google/Api/Ads/AdWords/v201101/cm/CampaignService.php';
> require_once
> 'Google/Api/Ads/AdWords/Util/ReportDownloadException.php';
>
> //Nur ändern wenn sich mal wieder die Feldbezeichnungen bei Google
> ändern//
>
> $AD_PERFORMANCE_REPORT = array(
> 'Date',
> #date AD_PERFORMANCE_REPORT
> 'AccountDescriptiveName',
> #account AD_PERFORMANCE_REPORT
> 'ExternalCustomerId',
> #customerid AD_PERFORMANCE_REPORT
> 'AdGroupId',
> #AdGroupId AD_PERFORMANCE_REPORT
> 'AdGroupName',
> #AdGroupName AD_PERFORMANCE_REPORT
> 'Headline',
> #Headline AD_PERFORMANCE_REPORT
> 'Description1',
> #Description2 AD_PERFORMANCE_REPORT
> 'Description2',
> #Description2 AD_PERFORMANCE_REPORT
> 'DisplayUrl',
> #DisplayUrl AD_PERFORMANCE_REPORT
> 'CreativeApprovalStatus',
> #CreativeApprovalStatus AD_PERFORMANCE_REPORT
> 'AdGroupStatus',
> #AdGroupStatus AD_PERFORMANCE_REPORT
> 'Url',
> #Url AD_PERFORMANCE_REPORT
> 'CampaignStatus',
> #CampaignStatus AD_PERFORMANCE_REPORT
> 'Impressions',
> #Impressions AD_PERFORMANCE_REPORT
> 'Clicks',
> #Clicks AD_PERFORMANCE_REPORT
> 'Cost',
> #Cost AD_PERFORMANCE_REPORT
> 'AveragePosition',
> #AveragePosition AD_PERFORMANCE_REPORT
> 'Conversions',
> #Conversions AD_PERFORMANCE_REPORT
> 'ConversionValue',
> #ConversionValue AD_PERFORMANCE_REPORT
> 'AccountCurrencyCode'
> #AccountCurrencyCode AD_PERFORMANCE_REPORT
> );
> $CAMPAIGN_PERFORMANCE_REPORT = array(
> 'Amount'
> #Budget CAMPAIGN_PERFORMANCE_REPORT
> );
>
> $CREATIVE_CONVERSION_REPORT = array(
> 'CreativeId'
> #CreativeId CREATIVE_CONVERSION_REPORT
> );
>
> //Nur ändern wenn sich mal wieder die Feldbezeichnungen bei Google
> ändern//
>
> //Da wir nach dem Umstieg von API v13 auf v201101 nicht mehr mit
> einem Bericht auskommen, müssen wir 3 Berichte ziehen
>
> $aReportDefinitionFields =
> array($AD_PERFORMANCE_REPORT,$CAMPAIGN_PERFORMANCE_REPORT,$CREATIVE_CONVERSION_REPORT);
> $aReportDefinitionFieldsDescription =
> array('AD_PERFORMANCE_REPORT','CAMPAIGN_PERFORMANCE_REPORT','CREATIVE_CONVERSION_REPORT');
>
> $time = time();
> $datum = date("dmYHis",$time);
> $dirs = $this->conf->parser->directories;
> $newacc = $this->getAccount();
>
> #############
>
> $timer = new Backend_Model_Timer();
> echo"Timer wurde gestartet\n";
>
>
>
>
> //nötige Daten aus der application.ini ziehen
> $conf = new Zend_Config_Ini(APPLICATION_PATH .
> '/configs/application.ini', "GOOGLEAPI");
>
> //AdwordsUser erstellen
> $ouser = new AdWordsUser();
> //Autentifizierungstoken erstellen
> $authToken = new AuthToken($ouser->GetEmail(),
> $ouser->GetPassword(), 'adwords', 'IMIQ', 'GOOGLE');
>
> $ouser->SetClientId(my MCC ID);
> $ouser->SetAuthToken($authToken->GetAuthToken());
> //Setzten unserer Authentifizierung
> $ouser->LogDefaults();
> //Logmechanismus
>
> //Welche API nutzen wir?
> $reportDefinitionService =
> $ouser->GetReportDefinitionService('v201101');
>
> //für jeden Reporttyp einen Download starten
> foreach($aReportDefinitionFields as $key => $value){
> //Namen für die Berichte erstellen
> $sfileName = $dirs->reports . '/' .
> $this->getUniqueFilename($time,$aReportDefinitionFieldsDescription[$key]);
>
> //Den Selector erstellen
> $selector = $this->CreateSelector($value);
> $selector->dateRange = new
> DateRange(str_replace("-","",$this->startdate),
> str_replace("-","",$this->enddate));
>
> //Report Definition erstellen
> $reportDefinition = new ReportDefinition();
> $reportDefinition->reportName =
> $aReportDefinitionFieldsDescription[$key].' ## ' . $datum;
> $reportDefinition->dateRangeType = 'CUSTOM_DATE';
> $reportDefinition->reportType =
> $aReportDefinitionFieldsDescription[$key];
> $reportDefinition->downloadFormat = 'GZIPPED_CSV';
> $reportDefinition->selector = $selector;
> $reportDefinition->crossClient = true;
>
>
> $clientSelector = new ClientSelector();
> $clientSelector->login = "EMAILFROMCUSTOMER";
>
> $clientSelector1 = new ClientSelector();
> $clientSelector1->login = "EMAILFROMCUSTOMER1";
>
> $reportDefinition->clientSelectors =
> array($clientSelector,$clientSelector1);
>
>
>
>
> // Create operations
> $operation = new ReportDefinitionOperation();
> $operation->operand = $reportDefinition;
> $operation->operator = 'ADD';
>
> $operations = array($operation);
>
> //Download des Reports bei Google
> try{
> //Gibt es Reporte zum runterladen?
> $result =
> $reportDefinitionService->mutate($operations);
>
> //für jeden Bericht der Vorhanden ist, ein Download
> durchführen
> for($x = 0; $x < count($result); $x++ ){
> //pfad zum Ordner in dem die Reporte abgelegt
> werden sollen mit dem vorher erzeugtem Filename
> $path = $sfileName;
> try{
> //Download -> hier wird noch zuätzlich eine
> .lock datei erstellt und nach Beendigung entfernt
> ReportUtils::DownloadReport($result[$x]->id,
> $path, $ouser, null, true);
> //zwei Sekunden warten aus Sicherheitsgründen
> sleep(2);
> echo "Vergangene Zeit seit der letzten
> Messung : ".$timer->measure_intermediate()." Sekunden \n";
> }catch (Exception $e) {
> $error[$newacc->getId()][1]=$e->getMessage();
> print_r($error);
> continue;
> }
> printf("%d - Report with definition id '%s' was
> downloaded to '%s'\n\n",
> $y, $result[$x]->id, $sfileName);
> }
> }catch (Exception $e) {
> $error[$newacc->getId()][0]=$e->getMessage();
> print_r($error);
> continue;
> }
> }
>
>
> ###########
> }
>
> function CreateSelector($selectorFields){
> $selector = new Selector();
> $selector->fields = $selectorFields;
> return $selector;
> }
> [/code]
>
> --
> =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
> 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 [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/adwords-api?hl=en
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en