我需要在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 <br/> Regards, Your robot",
});
}
}
但它不起作用。我有点沮丧,并且一直出现同样的错误:“找不到脚本功能:doGet”。
任何人都可以看一下并帮助我吗?
提前致谢,非常感谢。
祝你好运, 路易斯
答案 0 :(得分:1)
网络应用需要doGet(e)
或doPost(e)
功能才能通过网址(doGet()
)或发布数据(doPost()
)接受来自网页的输入。每个函数中的参数e
是&#39; event object&#39;将网址/帖子数据传入的位置。因此,您需要拨打电子邮件发送和发送电子邮件。来自doGet()
的日期生成函数。
这是逻辑的高级视图:
function doGet(e){
var d = new Date();
var date = getGate(d); // your getDate() function
var time = getTime(d); // your getTime() function
var datetime = date + " " + time;
sendEmail(datetime); // a new function to send an email
}
也就是说,您可以通过Utilities.formatDate(new Date())
(documentation here)获得您的日期和时间,从而更有效地获取时间戳。时间在正确的时区&amp;使用正确的区域设置格式。
通过发送电子邮件,您可以使用基本的Mail service函数MailApp.sendEmail(recipient, subject, body)
,该函数会向recipient
发送一封电子邮件,其中subject
传入&amp; body
中指定的消息。在这种情况下,这似乎就是您所需要的。如果您需要与邮箱进行交互,那么您应该使用Gmail service,但如果您只需要从运行我们应用程序的帐户发送电子邮件,请坚持使用邮件服务。