我需要在AppScripts中创建一个函数,该函数使用当前时间向我的电子邮件发送电子邮件 . 稍后,我必须创建一个触发器,强制该函数每小时运行一次 . 我知道对你们大多数人来说都很容易,但我从编码开始,我坚持这个练习 .
这就是我写的:
function sendemail(){
function getDate() {
var d = new Date();
return (d.getMonth()+1) + "/" + d.getDate() + "/" + d.getFullYear();
}
function getTime() {
var d = new Date(),
offset = -d.getTimezoneOffset()/60,
h = d.getUTCHours() + offset,
m = d.getMinutes(),
s = d.getSeconds();
return h + ":" + m + ":" + s;
}
function getDateAndTime() {
return getDate() + " " + getTime();
Gmail.sendEmail({
to: "luisjavier.diaziglesias@gmail.com",
subject: "Hora actual",
htmlBody: "La hora actual es +dateofDay
Regards, Your robot",
});
}
}
但它不起作用 . 我有点沮丧,并且一直出现同样的错误:“找不到脚本功能:doGet” .
任何人都可以看看并帮助我吗?
在此先感谢,非常感谢 .
最好的问候,路易斯
1 回答
Web应用程序需要
doGet(e)
或doPost(e)
函数才能通过URL(doGet()
)或发布数据(doPost()
)接受来自网页的输入 . 每个函数中的参数e
都是'event object ' where the url/post data are passed in. So, you'需要从doGet()
调用您的电子邮件发送和日期生成函数 .这是逻辑的高级视图:
也就是说,您可以通过
Utilities.formatDate(new Date())
(documentation here)以正确的时区获取您的日期和时间并使用正确的区域设置格式,从而更有效地获取时间戳 .通过发送电子邮件,您可以使用基本的Mail service函数
MailApp.sendEmail(recipient, subject, body)
,它会向recipient
发送一封电子邮件,并传入subject
和body
中指定的消息 . 在这种情况下,这似乎就是您所需要的 . 如果您需要与邮箱进行交互,那么您应该使用Gmail service,但如果您只需要从运行我们应用程序的帐户发送电子邮件,请坚持使用邮件服务 .