我曾经account selector
获得今天所有展示次数为 0 的帐户。
var accountIterator = AdsManagerApp.accounts()
.withCondition("Impressions = 0").forDateRange("TODAY").get();
- 此代码是否仅指每日最终统计数据?意思是如果这一天还没有结束,我不会得到任何结果?
我想将它用于每小时监控,并在不等待一天结束的最终统计信息的情况下获取截至目前为 0 次展示的帐户。
- 即使在每日统计数据最终确定之前,使用
GAQL
语法也会返回今天所需的帐户吗?
var query = "SELECT customer.id, metrics.impressions, segments.hour FROM customer WHERE metrics.impressions = 0 AND segments.hour = '+nowHour+' AND segments.date = '"+nowDateStr+"'";
或者
var query = "SELECT customer.id, metrics.impressions, segments.hour FROM customer WHERE metrics.impressions = 0 AND segments.date = '"+nowDateStr+"'";
完整代码:
function _getTodayZeroCostList() {
var nowDate = new Date();
var nowHour = nowDate.getUTCHours();
var nowDateStr = getDateStringInTimeZone(nowDate, 'yyyy-MM-dd');
var query = "SELECT customer.id, metrics.impressions, segments.hour, customer.descriptive_name, customer.resource_name FROM customer WHERE metrics.impressions = 0 AND segments.date = '"+nowDateStr+"'";
//Logger.log("query "+ query);
var lastOurZeroImpressions = AdsApp.report( query, { apiVersion: 'v9' });
var rows = lastOurZeroImpressions.rows();
var accounts = [];
while (rows.hasNext()) {
var row = rows.next();
Logger.log(JSON.stringify(row));
accounts = accounts.push(row["customer.id"]+" "+row["customer.descriptive_name"]);
}
return accounts;
}