经过几天的痛苦和痛苦,我设法理解了文档试图说的内容并与Adwords API建立了联系,然后在狂热的冲动下我甚至设法从中获取了一些数据。自欺欺人,我以为我已经拥有它,直到我必须得到一些带有where子句的广告。
我现在的最终目标只是让所有展示次数为0的广告。
我查看了java code examples和许多SO帖子,当然我也检查了Adwords documentation,但我无法找到我想要的内容。在最后一个" AdGroupAdService: Create, update, and delete ads",所以据我所知这是我应该使用的服务,我的(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)报告是否是这样做的唯一方法?
看起来很容易做到,但我找不到办法。
答案 0 :(得分:0)
Google通过the release of v201309从其多个Adwords API服务(包括AdGroupAdService)中删除了所有统计信息字段。
您需要使用AD_PERFORMANCE_REPORT。在报告定义的选择器中,将predicate设置为仅包含Impressions字段值为0的行。