0
$user->LoadService("ReportDefinitionService");

$selector = new Selector();
$selector->fields = $report["fields"];
$selector->dateRange = new DateRange($api_date, $api_date);
$selector->withCondition = "Name STARTS_WITH 'CTC'";

$reportDefinition = new ReportDefinition();
$reportDefinition->reportName = 'my_made_up_name_' . time();
$reportDefinition->dateRangeType = "CUSTOM_DATE";
$reportDefinition->reportType = $report["type"];
$reportDefinition->downloadFormat = "GZIPPED_CSV";
$reportDefinition->selector = $selector;

レポートに返されるキャンペーンを制限して、「CTC」で始まるキャンペーンのみを取得しようとしています。

$selector->withCondition = "Name STARTS_WITH 'CTC'";

構文が間違っているかどうかわかりません。このページを参照として使用していますhttps://developers.google.com/adwords/scripts/docs/reference/adwordsapp_campaignselector#withCondition_1

私が戻ってきたエラーは次のとおりです。

エラーが発生しました: レポートのダウンロードに失敗しました。根本的なエラーは、タイプ = 'ReportDownloadError.INVALID_REPORT_DEFINITION_XML'、トリガー = '無効な ReportDefinition Xml: cvc-complex-type.2.4.a: 要素 'withCondition' で始まる無効なコンテンツが見つかりました。「{" https://adwords.google.com/api/adwords/cm/v201306 ":ordering、" https://adwords.google.com/api/adwords/cm/v201306 ":paging}」のいずれかが'、FieldPath = ''。

前もって感謝します、

ジェームズ

4

1 に答える 1

0
$selector = new Selector();
$selector->fields = $report["fields"];
$selector->dateRange = new DateRange($api_date, $api_date);
//$selector->withCondition = "Name STARTS_WITH 'CTC'";
$selector->predicates[] = new Predicate('CampaignName', 'STARTS_WITH', 'CTC');
于 2013-08-01T15:58:53.130 に答える