如何使用 Google AdWords api link 关键字和广告组?
How to link Keywords and Adgroups using Google AdWords api?
我正在努力使用 Google AdWords api 来检索属于广告系列中广告组的关键字。
在这里我们可以看到对象的层次结构。
https://support.google.com/adwords/answer/2475865
我正在做的检索是这样的:
// Create a selector.
Selector selectorKeyword = new Selector();
selectorKeyword.fields = new string[] { "Id", "AdGroupId", "KeywordText" };
// Select only keywords.
predicate = new Predicate();
predicate.field = "CriteriaType";
predicate.@operator = PredicateOperator.EQUALS;
predicate.values = new string[] { "KEYWORD" };
Predicate predicateAdGroup = new Predicate();
predicate.field = "AdGroupId";
predicate.@operator = PredicateOperator.IN;
predicate.values = new string[] { adGroup.id.ToString() };
selectorKeyword.predicates = new Predicate[] { predicate, predicateAdGroup };
// Set the selector paging.
selectorKeyword.paging = new Paging();
AdGroupCriterionPage page = new AdGroupCriterionPage();
selectorKeyword.paging.startIndex = 0;
selectorKeyword.paging.numberResults = 500;
// Get the keywords.
page = adGroupCriterionService.get(selectorKeyword);
但这会在代码的最后一行引发异常:
{"[SelectorError.INVALID_PREDICATE_FIELD_NAME @ serviceSelector,
RequiredError.REQUIRED @ serviceSelector.predicates[1].operator,
RequiredError.REQUIRED @ serviceSelector.predicates[1].field]"}
但是我们可以在Google Api文档中看到,AdGroupId是Selector的一个可过滤的选择字段。
有什么想法吗?
我发现了问题。
我打算用于 AdgroupId 谓词对象的是
predicateAdGroup
但不幸的是我用了
predicate
命名对象而不是那个。这就是第二个谓词表达式为空的原因。
很高兴我很早就意识到这一点:)
谢谢。
我正在努力使用 Google AdWords api 来检索属于广告系列中广告组的关键字。
在这里我们可以看到对象的层次结构。
https://support.google.com/adwords/answer/2475865
我正在做的检索是这样的:
// Create a selector.
Selector selectorKeyword = new Selector();
selectorKeyword.fields = new string[] { "Id", "AdGroupId", "KeywordText" };
// Select only keywords.
predicate = new Predicate();
predicate.field = "CriteriaType";
predicate.@operator = PredicateOperator.EQUALS;
predicate.values = new string[] { "KEYWORD" };
Predicate predicateAdGroup = new Predicate();
predicate.field = "AdGroupId";
predicate.@operator = PredicateOperator.IN;
predicate.values = new string[] { adGroup.id.ToString() };
selectorKeyword.predicates = new Predicate[] { predicate, predicateAdGroup };
// Set the selector paging.
selectorKeyword.paging = new Paging();
AdGroupCriterionPage page = new AdGroupCriterionPage();
selectorKeyword.paging.startIndex = 0;
selectorKeyword.paging.numberResults = 500;
// Get the keywords.
page = adGroupCriterionService.get(selectorKeyword);
但这会在代码的最后一行引发异常:
{"[SelectorError.INVALID_PREDICATE_FIELD_NAME @ serviceSelector, RequiredError.REQUIRED @ serviceSelector.predicates[1].operator, RequiredError.REQUIRED @ serviceSelector.predicates[1].field]"}
但是我们可以在Google Api文档中看到,AdGroupId是Selector的一个可过滤的选择字段。
有什么想法吗?
我发现了问题。
我打算用于 AdgroupId 谓词对象的是
predicateAdGroup
但不幸的是我用了
predicate
命名对象而不是那个。这就是第二个谓词表达式为空的原因。
很高兴我很早就意识到这一点:)
谢谢。