public void Run(AdWordsUser user, long adGroupId)
{
// Get the AdGroupAdService.
AdGroupAdService service =
(AdGroupAdService) user.GetService(AdWordsService.v201306.AdGroupAdService);
// Create a selector.
Selector selector = new Selector();
selector.fields = new string[] {"Id", "Status", "Headline", "Description1", "Description2",
"DisplayUrl"};
// Set the sort order.
OrderBy orderBy = new OrderBy();
orderBy.field = "Id";
orderBy.sortOrder = SortOrder.ASCENDING;
selector.ordering = new OrderBy[] {orderBy};
// Restrict the fetch to only the selected ad group id.
Predicate adGroupPredicate = new Predicate();
adGroupPredicate.field = "AdGroupId";
adGroupPredicate.@operator = PredicateOperator.EQUALS;
adGroupPredicate.values = new string[] {adGroupId.ToString()};
// Retrieve only text ads.
Predicate typePredicate = new Predicate();
typePredicate.field = "AdType";
typePredicate.@operator = PredicateOperator.EQUALS;
typePredicate.values = new string[] {"TEXT_AD"};
// By default disabled ads aren't returned by the selector. To return
// them include the DISABLED status in the statuses field.
Predicate statusPredicate = new Predicate();
statusPredicate.field = "Status";
statusPredicate.@operator = PredicateOperator.IN;
statusPredicate.values = new string[] {AdGroupAdStatus.ENABLED.ToString(),
AdGroupAdStatus.PAUSED.ToString(), AdGroupAdStatus.DISABLED.ToString()};
selector.predicates = new Predicate[] {adGroupPredicate, statusPredicate, typePredicate};
// Select the selector paging.
selector.paging = new Paging();
int offset = 0;
int pageSize = 500;
AdGroupAdPage page = new AdGroupAdPage();
try {
do {
selector.paging.startIndex = offset;
selector.paging.numberResults = pageSize;
// Get the text ads.
page = service.get(selector);
// Display the results.
if (page != null && page.entries != null) {
int i = offset;
foreach (AdGroupAd adGroupAd in page.entries) {
TextAd textAd = (TextAd) adGroupAd.ad;
Console.WriteLine("{0}) Ad id is {1} and status is {2}", i + 1, textAd.id,
adGroupAd.status);
Console.WriteLine(" {0}\n {1}\n {2}\n {3}", textAd.headline,
textAd.description1, textAd.description2, textAd.displayUrl);
i++;
}
}
offset += pageSize;
} while (offset < page.totalNumEntries);
Console.WriteLine("Number of text ads found: {0}", page.totalNumEntries);
} catch (Exception ex) {
throw new System.ApplicationException("Failed to get text ads", ex);
}
}