如何使用Google AdWords API关联关键字和广告组?

时间:2015-05-08 11:04:21

标签: c# api google-adwords

我正在努力使用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的可过滤选择字段。

请问任何想法?

1 个答案:

答案 0 :(得分:0)

我发现了问题。

我打算用于AdgroupId谓词对象是

  

predicateAdGroup

但不幸的是我使用了

  

谓词

命名对象而不是那个。这就是第二个谓词表达式为空的原因。

很高兴我很早就意识到了这一点:)

感谢。