我按照脚本以任何方式发布,在每周的特定时间发送Gmail自动回复?。然而,根据我目前的测试,我的Gmail账户在下班时间没有回复任何消息。
我做错了什么或不完整吗?
我所做的:
function myFunction() {
function autoReply() {
var interval = 5; // if the script runs every 5 minutes; change otherwise
var date = new Date();
var day = date.getDay();
var hour = date.getHours();
if ([4,5,6,0].indexOf(day) > -1 || (day == 1 && hour < 9) || (day == 3 && hour >= 17)) {
var timeFrom = Math.floor(date.valueOf()/1000) - 60 * interval;
var threads = GmailApp.search('is:inbox after:' + timeFrom);
for (var i = 0; i < threads.length; i++) {
if (threads[i].isUnread()){
threads[i].reply("xxxx");
threads[i].markRead();
threads[i].markImportant();
}
}
}
}
}
任何提示都将不胜感激!
更新:我想知道为什么下面的脚本本身会导致“脚本函数未找到:myFunction”错误?
function autoReply() {
// find calendar event
var today = new Date();
var events = CalendarApp.getDefaultCalendar().getEventsForDay(today, { search: 'OOF' });
var unavailableToday = false;
for (var i = 0; i < events.length; i++) {
if(events[i].isAllDayEvent() && events[i].isOwnedByMe()) {
unavailableToday = true;
break;
}
}
var myEmail = Session.getEffectiveUser().getEmail();
Logger.log('unavailableToday');
Logger.log(unavailableToday);
if(unavailableToday === true) {
// get html message
var files = DriveApp.getRootFolder().getFilesByName('autoreply.html');
var htmlbody;
while (files.hasNext()) {
var file = files.next();
htmlbody = file.getBlob().getDataAsString('utf8');
}
// get emails
var interval = 2;
var date = new Date();
var timeFrom = Math.floor(date.valueOf()/1000) - 60 * interval;
var threads = GmailApp.search('is:inbox !label:autoresponded after:' + timeFrom);
var label = GmailApp.getUserLabelByName("autoresponded");
for (var i = 0; i < threads.length; i++) {
var message = threads[i].getMessages()[0];
if (message.getFrom().indexOf(myEmail) < 0 && message.getFrom().indexOf("no-repl") < 0 && message.getFrom().indexOf("bounce") < 0 && message.getFrom().indexOf("spam") < 0) {
Logger.log("Replied now");
// reply
threads[i].reply("", {
htmlBody: htmlbody
});
// label
label.addToThread(threads[i]);
}
}
}
}
这让我觉得我的功能{}很重要?
您需要删除myEvtion()
之外的autoReply()
函数,并在autoReply()
上设置触发器。
代码应该看起来像您链接的答案中的代码:
function autoReply() {
var interval = 5; // if the script runs every 5 minutes; change otherwise
var date = new Date();
var day = date.getDay();
var hour = date.getHours();
if ([5,6,0].indexOf(day) > -1 || (day == 1 && hour < 8) || (day == 4 && hour >= 17)) {
var timeFrom = Math.floor(date.valueOf()/1000) - 60 * interval;
var threads = GmailApp.search('is:inbox after:' + timeFrom);
for (var i = 0; i < threads.length; i++) {
threads[i].reply("I am out of office. Your email will not seen until Monday morning.");
}
}
}
不是这样的:
function myFunction() {
function autoReply() {
var interval = 5; // if the script runs every 5 minutes; change otherwise
var date = new Date();
var day = date.getDay();
var hour = date.getHours();
if ([5,6,0].indexOf(day) > -1 || (day == 1 && hour < 8) || (day == 4 && hour >= 17)) {
var timeFrom = Math.floor(date.valueOf()/1000) - 60 * interval;
var threads = GmailApp.search('is:inbox after:' + timeFrom);
for (var i = 0; i < threads.length; i++) {
threads[i].reply("I am out of office. Your email will not seen until Monday morning.");
}
}
}
}
调用myFunction()
时,不会调用autoReply()
,仅声明。
您需要编辑代码,然后重新设置触发器,使其在autoReply()
上运行。
来自w3学校:
声明的函数不会立即执行。它们被“保存以备日后使用”,并将在稍后调用(调用)时执行。
使用谷歌应用脚本Gmail库,当我使用函数,API似乎将过去的一个段落拆分为多个段落,可能会使用字符限制。例如,我的电子邮件中有一段写道: 但当我在电子邮件中调用此功能时,它变成: 而且,当我在一个新的行定界符上拆分电子邮件文本,并进行一些清理,以使用我的输出创建一个数组时,我最终得到: 我查看了这篇Reddit帖子,它似乎处理了类似的问题。但是,我尝试了提出问题的人提出的解决方案: 但它并没有满
我使用一个简单的脚本来删除1天后所有标有“摄像头”的电子邮件。这已经奏效好几个月了。我没有改变它,但它突然停止工作。 该脚本仍有在我的Gmail上运行的权限,但已停止。 感谢任何建议。 脚本是; 谢了山姆
在继续使用GoogleApps脚本构建Google电子表格的过程中,我已经完成了获取Bittrex和Poloniex余额的工作,但无法使用Cryptopia。 下面是我与Bittrex将JSON对象数组映射到字符串的斗争的链接 以下是官方API链接:https://www.cryptopia.co.nz/Forum/Thread/256 以下是一些例子: https://www.cryptopia
我想使用Google CAL API v3来观看多个日历,从而将这些日历中的所有事件更新到主日历,因此我需要使用WATCH/PUSH通知,以便每当有新事件在这些cal中,这些事件将自动在我的主日历中推送/创建。 但是,我面临以下问题:在API资源管理器下。大多数服务返回200 OK,除了Watch请求不工作。 服务 我收到了以下请求和响应 请求 回应 然后我按照下面的谷歌文档https://dev
和build.gradle文件(project)中的这一行: 所以..知道发生了什么吗?我知道有重复的文件,但他们是自动创建的!!有工作人员吗?
我的脚本没有在firefox上运行,我使用的是firefox版本49.0.1,下面是错误Selenium::WebDriver::error::WebDriverError:无法在60秒内获得稳定的firefox连接(127.0.0.1:7055)。