使用 Adwords 检索 TextAd Api

Retrieve TextAd using Adwords Api

我正在尝试检索 TextAd(标题、Desc1、Desc2、显示 URL 和目标 URL),但我失败了。

这是我检索文本广告的代码returns 空结果

TextAd text = new TextAd();
System.out.println("Headline:"+text.getHeadline());
Syso... etc.

我想检索 TextAd 的所有详细信息,我正在使用 java。

这是我添加 TextAd 的代码

 public static void runExample(
  AdWordsServices adWordsServices, AdWordsSession session, long adGroupId) throws Exception {
// Get the AdGroupAdService.
AdGroupAdServiceInterface adGroupAdService =
    adWordsServices.get(session, AdGroupAdServiceInterface.class);

// Create text ads.
TextAd textAd1 = new TextAd();
textAd1.setHeadline("Luxury Cruise to Mars");
textAd1.setDescription1("Visit the Red Planet in style.");
textAd1.setDescription2("Low-gravity fun for everyone!");
textAd1.setDisplayUrl("www.example.com");
textAd1.setFinalUrls(new String[] {"http://www.example.com/1"});

TextAd textAd2 = new TextAd();
textAd2.setHeadline("Luxury Cruise to Mars");
textAd2.setDescription1("Enjoy your stay at Red Planet.");
textAd2.setDescription2("Buy your tickets now!");
textAd2.setDisplayUrl("www.example.com");
textAd2.setFinalUrls(new String[] {"http://www.example.com/2"});

// Create ad group ad.
AdGroupAd textAdGroupAd1 = new AdGroupAd();
textAdGroupAd1.setAdGroupId(adGroupId);
textAdGroupAd1.setAd(textAd1);

// You can optionally provide these field(s).
textAdGroupAd1.setStatus(AdGroupAdStatus.PAUSED);

AdGroupAd textAdGroupAd2 = new AdGroupAd();
textAdGroupAd2.setAdGroupId(adGroupId);
textAdGroupAd2.setAd(textAd2);


// Create operations.
AdGroupAdOperation textAdGroupAdOperation1 = new AdGroupAdOperation();
textAdGroupAdOperation1.setOperand(textAdGroupAd1);
textAdGroupAdOperation1.setOperator(Operator.ADD);
AdGroupAdOperation textAdGroupAdOperation2 = new AdGroupAdOperation();
textAdGroupAdOperation2.setOperand(textAdGroupAd2);
textAdGroupAdOperation2.setOperator(Operator.ADD);

AdGroupAdOperation[] operations =
    new AdGroupAdOperation[] {textAdGroupAdOperation1, textAdGroupAdOperation2};

// Add ads.
AdGroupAdReturnValue result = adGroupAdService.mutate(operations);

// Display ads.
for (AdGroupAd adGroupAdResult : result.getValue()) {
  System.out.println("Ad with id  \"" + adGroupAdResult.getAd().getId() + "\"" + " and type \""
      + adGroupAdResult.getAd().getAdType() + "\" was added.");
}

}

我如何从 adwords 中检索这些值。 这是我从 adword

检索数据的选择器
SelectorBuilder builder = new SelectorBuilder();
Selector selector = builder
    .fields(AdGroupAdField.Id, AdGroupAdField.AdGroupId, AdGroupAdField.Status,
            AdGroupAdField.Description1,AdGroupAdField.Description2,AdGroupAdField.Headline)
    .orderAscBy(AdGroupAdField.Id)
    .offset(offset)
    .limit(PAGE_SIZE)
    .equals(AdGroupAdField.AdGroupId, adGroupId.toString())
    .in(AdGroupAdField.Status, "ENABLED", "PAUSED", "DISABLED")
    .equals("AdType", "TEXT_AD")
    .build();

Typecast adGroupAd.getAd() 到 TextAd 然后你可以获得标题和其他方法。

TextAd textAd = (TextAd)adGroupAd.getAd();
textAd.getHeadline();