AdWords API: выберите объявления с пустым показом

После нескольких дней боли и страданий мне удалось понять, что пытается сказать документация, и я подключился к API AdWords, а затем в безумном порыве мне даже удалось извлечь из него некоторые данные. Обманываю себя, я думал, что у меня есть это, пока я не должен был получить некоторые объявления с предложением где.

Моей конечной целью на данный момент было бы просто получить все объявления, которые имеют 0 показов.

Я проверил примеры кода Java и много сообщений SO, конечно, я также проверил документацию AdWords и не смог найти то, что искал. На последнем есть " AdGroupAdService: создание, обновление и удаление объявлений", поэтому, насколько я понимаю, это услуга, которую я должен использовать, мой (Scala) код выглядит так:

val adwordsCredentials = new OfflineCredentials.Builder().forApi(Api.ADWORDS).fromFile().build().generateCredential()
val adwordsSession = new AdWordsSession.Builder().fromFile().withOAuth2Credential(adwordsCredentials).build()
val adgroupService = new AdWordsServices().get(adwordsSession, classOf[AdGroupAdServiceInterface])

def getAds() = {
  val builder = new SelectorBuilder()
  val selector = builder
    .fields("Id", "Name", "Status", "AdGroupId")
    .offset(0)
    .limit(100)
    .build()

  val results = adgroupService.get(selector)

  if (results.getEntries() != null) {
    results.getEntries().foreach( row => {
      println(row.getAd.getId)
    })
  }
}

1) Там нет getAd.getClicks или же getAd.getImpressionsЯ копала Ad.java класс и единственные доступные поля:

id;
url;
displayUrl;
devicePreference;
adType;

2) Если я добавлю Clicks на запрос я получаю faultString: [SelectorError.INVALID_FIELD_NAME @ serviceSelector; trigger:'Clicks']предположительно потому, что в кампании нет поля Clicks;

3) Являются ли отчеты единственным способом сделать это?

Похоже, что-то довольно легко сделать, но я не мог найти способ.

1 ответ

Решение

Google выпустил все поля статистики из нескольких своих сервисов API AdWords, включая AdGroupAdService, с выпуском v201309.

Вам нужно будет использовать AD_PERFORMANCE_REPORT. В селекторе определения вашего отчета установите предикат, включающий только строки, в которых поле Impressions имеет значение 0.

Другие вопросы по тегам