google-ads-api - Google Ads 脚本 (AWQL) 获取报告的自定义日期范围
问题描述
我需要提取一个谷歌广告报告,该报告将从固定日期(5 月 28 日)到今天获取数据并将数据推送到电子表格。我不知道如何定义这个查询的日期范围
我试过谷歌搜索并阅读谷歌文档,但我无法弄清楚
function main() {
var spreadsheet = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/XXX');
var sheet = spreadsheet.getSheetByName('Data')
var report = AdsApp.report(
'SELECT Date, CampaignName, AverageFrequency, Impressions, ImpressionReach ' +
'FROM CAMPAIGN_PERFORMANCE_REPORT ' +
'WHERE Impressions > 0 ' +
'DURING 20190528,TODAY');
sheet.clearContents();
report.exportToSheet(sheet);
}
我需要使用今天作为结束日期而不是活动结束日期作为此查询的结束日期,因为我试图将频率作为一个指标,如果结束日期在未来,它将只显示空白值。
如果有办法使查询工作,请告诉我。谢谢!
解决方案
TODAY 关键字充当 DURING 属性的“全范围”,不能用作结束部分(据我所知)。以下应该工作。
function main() {
var endDate = new Date();
var endRange = Utilities.formatDate(endDate, 'America/Chicago', 'YYYYMMdd');
var spreadsheet = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/XXX');
var sheet = spreadsheet.getSheetByName('Data')
var report = AdsApp.report(
'SELECT Date, CampaignName, AverageFrequency, Impressions, ImpressionReach ' +
'FROM CAMPAIGN_PERFORMANCE_REPORT ' +
'WHERE Impressions > 0 ' +
'DURING 20190528,' + endRange);
sheet.clearContents();
report.exportToSheet(sheet);
}
推荐阅读
- unicode - 如何将包含的 UTF-8 二进制文件的错误 unicode 转换为 str?
- c# - 单独类中的 DelegateCommand 第一次调用 CanExecute 参数为空
- angular - 在 Angular 中对列表组件进行排序
- c# - WPF 与 SciChart 在单独的 AppDomain 中
- c++ - 如何解决“向量下标超出范围”错误?
- javascript - Sequelize.js 设置器功能无法按预期工作
- php - 使用 PHP 和 MYSQL 将 last_insert_id() 插入到不同的表中时的不同 ID
- pyspark - 火花“java.io.IOException:设备上没有剩余空间”
- java - 如何使用 codemodel 使用父类的任何字段
- vue.js - Nuxt/Vue:如果单击嵌套的 nuxt-link,则单击父级忽略