将 Google 广告数据导出到特定单元格范围

Exporting Google Ads Data To Specific Cell Range

我有一个广告脚本,可以根据规则将数据导出到 sheet。

但是,我只想替换某个单元格范围内的数据,例如 Google sheet.

中的 'A2:J'

我知道如何在 spreadsheetApp 脚本中执行此操作,但 unsure/struggling 在广告 script/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);
  }
}

答案:

基本上,无法直接将report导出到sheet的一定范围内。正如您在 official docs 中看到的那样,exportToSheet(sheet) 仅接受一个 sheet 作为参数,并且没有其他可选参数来实现您的目的。

解决方法:

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

如果你不想一直有这个额外的sheet,我建议在它被复制到最终的sheet之后creating a new sheet every time you use exportTosheet, exporting the report to this newly created sheet, and finally deleting this sheet

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