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