You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过Apps Script实现多份Offline DCM报告自动填充至G-Sheet多标签页

多Offline DCM报告自动填充Google表格通用脚本

配置说明

先在脚本开头定义你的报告配置数组,每个元素对应一份报告的参数:

// 配置多份DCM报告,可按需添加/修改
const REPORT_CONFIGS = [
  {
    reportId: 'REPORT_ID_1', // 替换为你的Offline DCM报告ID
    sheetName: '报告1数据',   // 要写入的Google表格标签页名称
    clearSheetBeforeWrite: true // 是否清空标签页旧数据
  },
  {
    reportId: 'REPORT_ID_2',
    sheetName: '报告2数据',
    clearSheetBeforeWrite: false
  }
  // 可继续添加更多报告配置
];

完整脚本

function importMultipleDCMReports() {
  // 遍历所有报告配置
  REPORT_CONFIGS.forEach(config => {
    try {
      // 获取DCM报告数据
      const reportData = getDCMReportData(config.reportId);
      if (!reportData || reportData.length === 0) {
        console.log(`报告ID ${config.reportId} 无数据,跳过`);
        return;
      }

      // 定位目标工作表
      const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(config.sheetName);
      if (!sheet) {
        console.log(`未找到标签页 ${config.sheetName},跳过`);
        return;
      }

      // 清空旧数据(如果配置开启)
      if (config.clearSheetBeforeWrite) {
        sheet.clearContents();
      }

      // 写入数据(从A1单元格开始)
      const range = sheet.getRange(1, 1, reportData.length, reportData[0].length);
      range.setValues(reportData);
      console.log(`报告ID ${config.reportId} 已成功写入标签页 ${config.sheetName}`);
    } catch (error) {
      console.error(`处理报告ID ${config.reportId} 时出错: ${error.message}`);
    }
  });
}

function getDCMReportData(reportId) {
  // 调用DCM API获取离线报告
  const report = DoubleClickCampaignManager.Reports.get(reportId);
  
  // 检查报告状态,确保已生成
  if (report.status !== 'REPORT_AVAILABLE') {
    throw new Error(`报告 ${reportId} 状态异常: ${report.status}`);
  }

  // 获取报告文件数据
  const fileId = report.files[0].url.split('/').pop();
  const csvContent = DriveApp.getFileById(fileId).getBlob().getDataAsString();
  
  // 解析CSV为二维数组
  return Utilities.parseCsv(csvContent);
}

使用步骤

  1. 打开目标Google表格,点击「扩展程序」→「Apps脚本」进入脚本编辑器
  2. 替换脚本中的REPORT_CONFIGS数组内容,填入你的报告ID和对应标签页名称
  3. 启用DoubleClick Campaign Manager API:
    • 在脚本编辑器左侧点击「服务」→「添加服务」
    • 找到「DoubleClick Campaign Manager API」,点击添加
  4. 运行importMultipleDCMReports函数,首次运行会要求授权,按提示完成权限验证
  5. (可选)设置时间驱动触发器,实现定期自动同步数据

注意事项

  • 确保你的Google账号有权限访问目标DCM报告
  • 离线报告需处于「REPORT_AVAILABLE」状态才能获取数据
  • 如果报告数据量过大,需注意Google Apps脚本的执行时间限制(最长6分钟)

内容的提问来源于stack exchange,提问作者Billy Lucas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 18:09:59