【问题标题】:Exporting Google Ads Data To Specific Cell Range将 Google Ads 数据导出到特定单元格范围
【发布时间】:2019-11-06 16:18:52
【问题描述】:

我有一个根据规则将数据导出到工作表的广告脚本。

但是,我只想替换某个单元格范围内的数据,例如 Google 工作表中的“A2:J”。

我知道如何在电子表格应用程序脚本中执行此操作,但不确定/在广告脚本/AWQL 上苦苦挣扎。

我在下面粘贴了脚本的基础知识,但确实可以深入了解是否以及如何推动到特定范围。

function main(){

// Put your Google data sheet here
var sheetURL = '';

// Enter the tab name here
var tabName = '';

var QUERIES = [{'query' : 'SELECT Date, DayOfWeek, HourOfDay, Device, CampaignName, Impressions, Clicks, Cost, Conversions, ConversionValue ' +
                        'FROM CAMPAIGN_PERFORMANCE_REPORT ' +
            'WHERE Impressions > 0 ' +
                      'DURING TODAY',
                      //'DURING ' + dateRanges, 
            'spreadsheetUrl' : sheetURL,
            'tabName' : tabName,
            'reportVersion' : 'v201809'
           }            
          ];

//This is to gather the above query and push it to the spreadsheet stated above
  for(var i in QUERIES) {
    var queryObject = QUERIES[i];
    var query = queryObject.query;
    var spreadsheetUrl = queryObject.spreadsheetUrl;
    var tabName = queryObject.tabName;
    var reportVersion = queryObject.reportVersion;
    //Logger.log(spreadsheetUrl + " " + query);
    var spreadsheet = SpreadsheetApp.openByUrl(spreadsheetUrl);
    var sheet = spreadsheet.getSheetByName(tabName);
    var report = AdWordsApp.report(query, {apiVersion: reportVersion});
    report.exportToSheet(sheet);
  }
}

【问题讨论】:

  • 此报告看起来会填充前十列,即 J 列。那么问题出在哪里?
  • @Cooper 它确实填充了我想要的列。但是,它会清除并替换整个工作表,而不仅仅是 A:J 列中的数据。所以我只想替换一个设定范围而不是整个工作表。
  • 啊,我明白了。我想知道如何让每次都在同一张表中执行此操作,然后只需添加代码以自己将数据复制到最终表中,然后您就可以更好地控制最终报告的外观。
  • @Cooper 我很想通过查询或按计划将数据推送到新工作表来做到这一点。 (我为更大的数据集设置了这个)。我只是想看看是否有办法替换某个范围。我认为它需要更多时间进行研究...感谢您的时间

标签: google-apps-script google-sheets google-ads-api


【解决方案1】:

答案:

基本上,不能将report 直接导出到工作表的某个范围。正如您在 official docs 中看到的那样,exportToSheet(sheet) 只接受 sheet 作为参数,并且没有其他可选参数来实现您的目的。

解决方法:

正如 Cooper 和您自己评论的那样,您可以将报告导出到另一张表,然后从那里将 copy the desired range 导出到您的最后一张表。

如果你不想一直有这个额外的工作表,我建议每次使用exportTosheet 时都使用creating a new sheet,将报告导出到这个新创建的工作表,最后在它之后使用deleting this sheet已复制到最后一张。

此外,自 2018 年 11 月以来,您应该使用 AdsApp 而不是 AdWordsApp,如 here 所述。

【讨论】:

  • 您好,感谢您提供的信息。我很欣赏明确没有确认,所以我将使用其他方法。我用更新后的 AdsApp 创建了一个版本,只是粘贴了旧版本,但再次为抬头欢呼。
猜你喜欢
  • 1970-01-01
  • 2022-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多