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

如何创建Google App Script每日保存RSS内容至谷歌表格

修正后的Google Apps Script实现方案

针对你需要的功能,以下是修正并完善后的脚本,同时解决原代码中的错误:

功能实现说明

  • 访问工作表"Sheet1":直接通过getSheetByName定位目标工作表,避免重复调用提升效率
  • 查找A列最后一行:使用getRange("A:A").getValues().filter(String).length精准获取A列有内容的最后一行行号
  • 插入IMPORTFEED公式:在A列最后一行的下一行插入RSS导入公式
  • 添加当前日期:判断A2有内容后,在A1写入格式化后的当前日期
  • 选择性粘贴(值保留):导入RSS后将公式结果转为静态值,避免每日更新覆盖历史数据
  • 每日定时运行:通过Google Apps Script触发器设置每日22点执行

完整代码

function importDailyTrends() {
  // 1. 访问工作表"Sheet1"
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('Sheet1');
  if (!sheet) return; // 防止工作表不存在报错

  // 格式化当前日期(GMT+3时区)
  const currentDate = Utilities.formatDate(new Date(), "GMT+3", "dd/MM/yyyy");

  // 2. 查找A列最后一行(包含内容的行)
  const lastRow = sheet.getRange("A:A").getValues().filter(String).length;
  const targetRow = lastRow + 1; // 公式插入的目标行

  // 3. 插入IMPORTFEED公式
  const rssFormula = `=IMPORTFEED("https://trends.google.com/trends/trendingsearches/daily/rss?geo=BR")`;
  sheet.getRange(targetRow, 1).setFormula(rssFormula);

  // 等待公式加载完成(根据RSS内容量可调整等待时间)
  SpreadsheetApp.flush();
  Utilities.sleep(3000);

  // 5. 选择性粘贴为静态值
  const dataRange = sheet.getRange(targetRow, 1, sheet.getLastRow() - targetRow + 1, sheet.getLastColumn());
  dataRange.copyTo(dataRange, SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);

  // 4. 当A2有内容时,在A1添加当前日期
  const a2Value = sheet.getRange("A2").getValue();
  if (a2Value !== "") {
    sheet.getRange("A1").setValue(currentDate);
  }
}

设置每日定时运行

  1. 打开Google表格的脚本编辑器(扩展程序 > Apps 脚本)
  2. 点击左侧菜单栏的「触发器」图标(闹钟样式)
  3. 点击「添加触发器」按钮
  4. 配置参数:
    • 选择要运行的函数:importDailyTrends
    • 选择部署类型:「时间驱动」
    • 选择时间触发类型:「日计时器」
    • 选择时间间隔:「每天」
    • 选择具体时间:「晚上10点到11点」
  5. 点击「保存」完成设置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 09:05:15