Hi,
I was using adwords api v13.Now need to upgrade to v201101.
I am not able to generate the report job structure properly.I am using
PHP.
code:
<?php
require '/mnt/www/html/reports/googleapi/header.php';
//require 'header.php';
chdir('/mnt/www/html/reports/googleapi/');

$apis = getApis();
if(sizeof($apis)){
        foreach($apis as $api){
                $sql = "SELECT  accounts.*
                                FROM    accounts, api_account
                                WHERE   accounts.id = api_account.account_id
                                        AND     api_account.api_id = 
".$api['id']."
                                        AND accounts.searchengine = 'google'
                                        AND accounts.timezone = '".$argv[1]."'
                                        AND accounts.username != ''
                                        AND accounts.status = 'active'";
                $res = mysql_query($sql);
                $num = mysql_num_rows($res);
                if($num){
                        $clientEmails = '';
                        while($row = mysql_fetch_assoc($res)){
                                $clientEmails .= 
'<clientEmails>'.$row['username'].'</
clientEmails>';
                        }
                        //echo $clientEmails;exit;
                        $apilityUser = new APIlityUser($api['username'], 
$api['password'],
$api['client_email'], $api['devtoken'], $api['apptoken']);

                        $soapClients = &APIlityClients::getClients();
                        $someSoapClient = $soapClients->getReportClient();
                        $reportNumber = 1;

                        $day = $argv[1] == 'IN' ? 0 : 1;
                        for($i = $day; $i<3; $i++){
                                $startDay = date('Y-m-d', mktime(0, 0, 0, 
date("m")  , date("d")-
$i, date("Y")));
                                $endDay = $startDay;

                                # Create report job structure.
                                $report_job =
                                        
'<selectedReportType>Keyword</selectedReportType>' .
                                        '<name>Keyword Report - 
'.$startDay.'</name>' .
                                        
'<aggregationTypes>Daily</aggregationTypes>' .
                                        '<crossClient>true</crossClient>' .
                                $clientEmails.
                                        
'<includeZeroImpression>false</includeZeroImpression>' .
                                        '<startDay>'.$startDay.'</startDay>' .
                                        '<endDay>'.$endDay.'</endDay>' .
                                        
'<selectedColumns>CustomerName</selectedColumns>' .
                                        
'<selectedColumns>ExternalCustomerId</selectedColumns>' .
                                        
'<selectedColumns>Campaign</selectedColumns>' .
                                '<selectedColumns>CampaignId</selectedColumns>' 
.
                                        
'<selectedColumns>AdGroup</selectedColumns>' .
                                '<selectedColumns>AdGroupId</selectedColumns>' .
                                        
'<selectedColumns>Keyword</selectedColumns>' .
                                        
'<selectedColumns>KeywordId</selectedColumns>' .
                                        
'<selectedColumns>KeywordTypeDisplay</selectedColumns>' .
                                        
'<selectedColumns>KeywordStatus</selectedColumns>' .
                                
'<selectedColumns>FirstPageCpc</selectedColumns>' .
                                
'<selectedColumns>QualityScore</selectedColumns>' .
                                
'<selectedColumns>MaxContentCPC</selectedColumns>' .
                                        
'<selectedColumns>MaximumCPC</selectedColumns>' .
                                        
'<selectedColumns>MaximumCPM</selectedColumns>' .
                                        
'<selectedColumns>PreferredCPC</selectedColumns>' .
                                        
'<selectedColumns>PreferredCPM</selectedColumns>' .
                                        
'<selectedColumns>KeywordDestUrlDisplay</selectedColumns>' .
                                        
'<selectedColumns>Impressions</selectedColumns>' .
                                        
'<selectedColumns>Clicks</selectedColumns>' .
                                        
'<selectedColumns>CTR</selectedColumns>' .
                                        
'<selectedColumns>CPC</selectedColumns>' .
                                        
'<selectedColumns>CPM</selectedColumns>' .
                                        
'<selectedColumns>Cost</selectedColumns>' .
                                        
'<selectedColumns>AveragePosition</selectedColumns>' .
                                    
'<selectedColumns>CustomerTimeZone</selectedColumns>' .
                                        
'<selectedColumns>Conversions</selectedColumns>' .
                                    
'<selectedColumns>ConversionCost</selectedColumns>' .
                                        
'<selectedColumns>ConversionRate</selectedColumns>' .
                                        
'<selectedColumns>CostPerConverstion</selectedColumns>' .
                                        
'<selectedColumns>SalesCount</selectedColumns>' .
                                        
'<selectedColumns>LeadCount</selectedColumns>' .
                                        
'<selectedColumns>SignupCount</selectedColumns>' .
                    '<selectedColumns>View-through conv.</
selectedColumns>' .
                                        
'<selectedColumns>DefaultCount</selectedColumns>';

                                $request_xml =
                                        '<validateReportJob 
xmlns="https://adwords-sandbox.google.com/api/
adwords/cm/'.API_VERSION.'">' .
                                        '<job xsi:type="DefinedReportJob">' .
                                        $report_job .
                                        '</job>' .
                                        '</validateReportJob>';
                                echo $request_xml;
                                # Validate report.
                                $someSoapClient->call('validateReportJob', 
$request_xml);
                                if ($someSoapClient->fault){

                                        show_fault($someSoapClient, 'for Api Id 
: '.$api['id'], $i);
                                        continue;
                                }

                                # Schedule report.
                                $request_xml =
                                        '<scheduleReportJob 
xmlns="https://adwords-sandbox.google.com/api/
adwords/cm/'.API_VERSION.'">
                                    <job  xsi:type="DefinedReportJob">' .
                                        $report_job .
                                        '</job>' .
                                        '</scheduleReportJob>';
                                $job_id = 
$someSoapClient->call('scheduleReportJob',
$request_xml);
                                 echo "<pre>";
                                print_r($job_id);
                                $job_id = $job_id['scheduleReportJobReturn'];
                                echo "Schedule report JOB ID".$job_id." \n";

?>
I am not able to get the report job id.This code is working fine for
v13 not for the v201101.Please suggest me what needs to be done.As i
need dis badly.Waiting for the response.

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

Reply via email to