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

Google Apps Script:onWeekday非函数的TypeError问题排查与求助

Google Apps Script TypeError: onWeekday is not a function 解决方法

问题核心

创建每周时间驱动触发器时触发以下错误:

ScriptApp.newTrigger(...).timeBased(...).everyWeeks(...).onWeekday is not a function

原因分析

方法调用顺序错误:

  • timeBased() 返回 ClockTriggerBuilder 对象,该对象包含 onWeekday() 方法
  • 调用 everyWeeks() 后,对象会转为 RecurrenceTriggerBuilder,而这个对象没有onWeekday() 方法
  • 你当前的代码先调用 everyWeeks() 再调用 onWeekday(),导致找不到对应方法

另外,ScriptApp.Weekday 显示 undefined 大概率是调用顺序错误导致的上下文异常,而非枚举本身不可用。

修正代码

调整调用顺序,将 onWeekday() 移到 everyWeeks() 之前:

Logger.log('Starting weekly trigger test...');
try {
  var testTrigger = ScriptApp.newTrigger('myTriggeredFunction')
      .timeBased()
      .onWeekday(ScriptApp.Weekday.MONDAY) // 先指定星期
      .everyWeeks(1) // 再设置重复周期
      .atHour(9)
      .nearMinute(0)
      .create();
  Logger.log('Trigger created successfully: ' + testTrigger.getUniqueId());
} catch (e) {
  Logger.log('Error creating trigger: ' + e.message);
  Logger.log('Full stack: ' + e.stack);
}

function myTriggeredFunction() {
  Logger.log('Trigger fired.');
}

额外验证点

  1. 如果枚举值仍有问题,可以直接用数字替代:onWeekday(2)(对应周一,GAS中Weekday枚举值:周日=1,周一=2,...,周六=7)
  2. 确保项目使用V8运行时(你已确认,可忽略)
  3. 权限配置正确(你已验证,可忽略)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 22:12:47