0

我对谷歌应用脚​​本很烂,需要将 AdSense 报告导入谷歌电子表格。我尝试了用于高级服务的 Google Apps 脚本参考指南中提供的示例,但我无法让它工作。

code.gs 的示例如下所示:

function generateReport(adClientId) {
var today = new Date();
var oneWeekAgo = new Date(today.getTime() - 7 * 24 * 60 * 60 * 1000);

var timezone = Session.getTimeZone();
var startDate = Utilities.formatDate(oneWeekAgo, timezone, 'yyyy-MM-dd');
var endDate = Utilities.formatDate(today, timezone, 'yyyy-MM-dd');

var report = AdSense.Reports.generate(startDate, endDate, {
  filter: ['AD_CLIENT_ID==' + escapeFilterParameter(adClientId)],
  metric: ['PAGE_VIEWS', 'AD_REQUESTS', 'AD_REQUESTS_COVERAGE', 'CLICKS',
           'AD_REQUESTS_CTR', 'COST_PER_CLICK', 'AD_REQUESTS_RPM',
           'EARNINGS'],
  dimension: ['DATE'],
  sort: ['+DATE'],
});

if (report.rows) {
  var spreadsheet = SpreadsheetApp.create('AdSense Report');
  var sheet = spreadsheet.getActiveSheet();

  var headers = report.headers.map(function(header) {
    return header.name;
  });
  sheet.appendRow(headers);

  sheet.getRange(2, 1, report.rows.length, headers.length)
      .setValues(report.rows);

  Logger.log('Report spreadsheet created: %s',
      spreadsheet.getUrl());

  Logger.log('No rows returned.');

我如何让它调用报告?

4

1 回答 1

-2

如果您的 AdSense 数据驻留在 BigQuery 中,那么您可以使用Cirkulate 之类的服务,它可以将这种类型的数据库以重复的方式导出到电子表格中。设置一个 SQL 查询(或多个查询),设置刷新计划并添加需要通过电子邮件发送电子表格的收件人。而已。

披露:为了清楚从属关系,我是 Cirkulate 的创始人

于 2018-08-30T10:49:13.490 回答