/// <summary> /// Runs the code example. /// </summary> /// <param name="user">The AdWords user.</param> public void Run(AdWordsUser user) { // Get the AdGroupCriterionService. AdGroupCriterionService adGroupCriterionService = (AdGroupCriterionService) user.GetService(AdWordsService.v201402.AdGroupCriterionService); // Create a selector. Selector selector = new Selector(); selector.fields = new string[] {"Id", "AdGroupId", "KeywordText"}; // Select only keywords. Predicate predicate = new Predicate(); predicate.field = "CriteriaType"; predicate.@operator = PredicateOperator.EQUALS; predicate.values = new string[] {"KEYWORD"}; selector.predicates = new Predicate[] {predicate}; // Set the selector paging. selector.paging = new Paging(); int offset = 0; int pageSize = 500; AdGroupCriterionPage page = new AdGroupCriterionPage(); try { do { selector.paging.startIndex = offset; selector.paging.numberResults = pageSize; // Get the keywords. page = adGroupCriterionService.get(selector); // Display the results. if (page != null && page.entries != null) { int i = offset; foreach (AdGroupCriterion adGroupCriterion in page.entries) { bool isNegative = (adGroupCriterion is NegativeAdGroupCriterion); // If you are retrieving multiple type of criteria, then you may // need to check for // // if (adGroupCriterion is Keyword) { ... } // // to identify the criterion type. Keyword keyword = (Keyword) adGroupCriterion.criterion; if (isNegative) { Console.WriteLine("{0}) Negative keyword with ad group ID = '{1}', keyword ID " + "= '{2}', and text = '{3}' was found.", i + 1, adGroupCriterion.adGroupId, keyword.id, keyword.text); } else { Console.WriteLine("{0}) Keyword with ad group ID = '{1}', keyword ID = '{2}', " + "text = '{3}' and matchType = '{4} was found.", i + 1, adGroupCriterion.adGroupId, keyword.id, keyword.text, keyword.matchType); } i++; } } offset += pageSize; } while (offset < page.totalNumEntries); Console.WriteLine("Number of keywords found: {0}", page.totalNumEntries); } catch (Exception ex) { throw new System.ApplicationException("Failed to retrieve keywords.", ex); } }