google-apps-script - Google Apps 脚本 - 基于时间的触发器
问题描述
我是一个完全的新手,试图设置一个定时触发器。我有一个包含电子邮件列表的电子表格,创建了一个脚本,可以向每个人发送一封电子邮件。如果我手动运行脚本,它工作得很好。我想要一个每 3 个月自动发送电子邮件的触发器。
function sendEmails() {
var ss = SpreadsheetApp.openById("1234ID-here"); SpreadsheetApp.setActiveSpreadsheet(ss);
var sheet = SpreadsheetApp.getActiveSheet();
var dataRange = sheet.getDataRange(); // Fetch values for each row in the Range. var data = dataRange.getValues();
for (var i = 1; i < data.length; i++) {
(function (val) {
var rowData = data[i];
var emailAddress = rowData[1];
var recipient = rowData[0];
var phone = rowData[2];
var skill = rowData[3];
var address = rowData[4];
var moreinfo = rowData[5];
var message = 'Dear ' + recipient + ',\n\n' + "You signed up for the following skillshare:" + skill + "." +
"If you would like to be removed from this list, or if the following contact info has changed, please reply to this email. Otherwise we will assume no change." +
'\n\n' + address + '\n\n' + phone + '\n\n' + moreinfo + '\n\n' + 'Thanks!';
var subject = 'Skill sharing list';
MailApp.sendEmail(emailAddress, subject, message);
})(i);
}
}
如果我运行它,它工作正常。这是我为触发器创建的另一个脚本:
function createTimeTriggers() {
ScriptApp.newTrigger('sendEmails')
.timeBased()
.everyMinutes(1) //(to test it)
.create();
}
运行它对我没有任何帮助,看起来它有 90% 的错误率,我一运行它就执行了 119 次。请帮忙?
*编辑 - 看起来它记录了错误“找不到脚本功能:sendEmails”
解决方案
就像我说的,新手(例如,我昨晚刚开始学习这个)。我想到了!我已经将脚本创建为两个单独的项目,但刚刚意识到我可以将脚本添加到我的 sendEmails 项目中......现在两个脚本都包含在一个项目中,它运行得非常好!哈哈谢谢你的帮助和耐心!
推荐阅读
- axios - chrome 开发工具上的网络选项卡不显示发送到服务器的请求
- amazon-web-services - 如何 Terraform 创建和验证 AWS 证书
- mongodb - MongoDB 更新插入 $in
- python - 当我使用 python 进行 twitter 抓取时,带有某些主题标签的推文要么收集得很慢,要么根本没有收集到我的数据库中
- postgresql - PostgreSQL 数组包含 vs JOIN(性能)
- javascript - HTML 多步骤表单在移动设备上不起作用
- angular - Angular Elements(自定义元素)在 DOM 中不可见
- algorithm - 在有向图中找到有保证的祖先
- visual-studio-2019 - Nuget包展示顺序
- c# - System.InvalidOperationException:枚举操作可能无法执行 - 间歇性出现