Ответ 1
Примеры script можно найти в приложении script и руководства. Вы также можете найти соответствующие обсуждения на forum. Но я не думаю, что там, который подходит вам точно, весь код там наверняка, но не на одном script.
Возможно, кто-то написал такой script и никогда не публиковал его. Так как это несколько просто, и все используют разные. Например, как вы планируете отмечать свои электронные письма (те, которые вы уже прочитали, выполнили и т.д.)? Может быть, полезно использовать фильтр gmail, чтобы помочь вам, сразу же поместив "командную" электронную почту на ярлык, а script просто удалите ярлык (и, возможно, установите другой). Точка, посмотрите, как она может сильно различаться.
Кроме того, я считаю, что легче сохранить все функции в одном проекте script. Возможно, просто на разных файлах. Как вызов различных сценариев является более сложным.
В любом случае, он как бы начал:
//set a time-driven trigger to run this function on the desired frequency
function monitorEmails() {
var label = GmailApp.getUserLabelByName('command');
var doneLabel = GmailApp.getUserLabelByName('executed');
var cmds = label.getThreads();
var max = Math.min(cmds.length,5);
for( var i = 0; i < max; ++i ) {
var email = cmds[i].getMessages()[0];
var functionName = email.getBody();
//you may need to do extra parsing here, depending on your usage
var ret = undefined;
try {
ret = this[functionName]();
} catch(err) {
ret = err;
}
//replying the function return value to the email
//this may make sense or not
if( ret !== undefined )
email.reply(ret);
cmds[i].removeLabel(label).addLabel(doneLabel);
}
}
ps: Я не тестировал этот код