Hi Pete,
Thanks for your help.
However, I still can't get anything even though I have set up the
predicates. Here are my codes :
<?php
/**
* This example gets and downloads a report from a report definition.
* To get a report definition, run
AddKeywordsPerformanceReportDefinition.php.
* Currently, there is only production support for report download.
*
* PHP version 5
*
* Copyright 2011, Google Inc. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* @package GoogleApiAdsAdWords
* @subpackage v201101
* @category WebServices
* @copyright 2011, Google Inc. All Rights Reserved.
* @license
http://www.apache.org/licenses/LICENSE-2.0 Apache
License,
* Version 2.0
* @author Eric Koleda <
api.e...@gmail.com>
*/
error_reporting(E_STRICT | E_ALL);
// You can set the include path to src directory or reference
// AdWordsUser.php directly via require_once.
// $path = '/path/to/aw_api_php_lib/src';
$path = dirname(__FILE__) . '/../../src';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
require_once 'vendors/google_adwords/src/Google/Api/Ads/AdWords/Lib/
AdWordsUser.php';
require_once 'vendors/google_adwords/src/Google/Api/Ads/AdWords/Util/
ReportUtils.php';
/**
*
* First we want to request for a report
*/
function addKeywordsPerformance($user){
try {
// Get AdWordsUser from credentials in "../auth.ini"
// relative to the AdWordsUser.php file's directory.
$devtoken = $user->GetDeveloperToken();
// Log SOAP XML request and response.
$user->LogDefaults();
// Get the GetReportDefinitionService.
$reportDefinitionService = $user-
>GetReportDefinitionService('v201101');
$startDate = date("Ymd", strtotime("-3 days"));
$endDate = date("Ymd", strtotime("-1 days"));
// Create selector to indicate which fields we want to get
$selector = new Selector();
$selector->fields = array('AdGroupId', 'CampaignId',
'CampaignName',
'CampaignStatus', 'KeywordText', 'TotalConvValue',
'KeywordMatchType', 'Impressions', 'Clicks', 'Cost');
$selector->dateRange = new DateRange($startDate, $endDate);
// Create predicates.
$adGroupId = 3000250943;
$adGroupPredicate = new Predicate();
$adGroupPredicate->field = 'AdGroupId';
$adGroupPredicate->operator = 'EQUALS';
$adGroupPredicate->values = array($adGroupId);
$selector->predicates = array($adGroupPredicate);
// Create report definition.
$reportDefinition = new ReportDefinition();
$reportDefinition->reportName = 'Keywords performance report
#' . time();
$reportDefinition->dateRangeType = 'CUSTOM_DATE';
$reportDefinition->reportType = 'KEYWORDS_PERFORMANCE_REPORT';
$reportDefinition->downloadFormat = 'XML';
$reportDefinition->selector = $selector;
// Create operations.
$operation = new ReportDefinitionOperation();
$operation->operand = $reportDefinition;
$operation->operator = 'ADD';
$operations = array($operation);
// Add report definition.
$result = $reportDefinitionService->mutate($operations);
// Display report definitions.
if ($result != null) {
var_dump($result);
print_r($result, true);
foreach ($result as $reportDefinition) {
printf("Report definition with name '%s' and id '%s'
was added.\n",
$reportDefinition->reportName, $reportDefinition->id);
return $reportDefinition->id;
}
} else {
print "No report definitions were added.\n";
}
} catch (Exception $e) {
print $e->getMessage();
exit();
}
}
try {
// Get AdWordsUser from credentials in "../auth.ini"
// relative to the AdWordsUser.php file's directory.
$user = new AdWordsUser();
// Log SOAP XML request and response.
$user->LogDefaults();
$reportDefinitionId = addKeywordsPerformance($user);
print("Report definiton id = $reportDefinitionId");
$fileName = 'google_adword.xml';
$path = dirname(__FILE__) . '/' . $fileName;
// Download report.
ReportUtils::DownloadReport($reportDefinitionId, $path, $user);
printf("Report with definition id '%s' was downloaded to '%s'.\n",
$reportDefinitionId, $fileName);
} catch (Exception $e) {
print $e->getMessage();
}
Thanks
On Apr 24, 8:35 pm, "Pete Lavetsky (AdWords API Guru)"
<
pete.lavet...@gmail.com> wrote:
> Take a look at the Predicate section:
http://code.google.com/p/google-api-adwords-java/source/browse/trunk/...