Puede encontrar ejemplos de secuencias de comandos en el Apps Script user guide y tutorials. También puede buscar discusiones relacionadas en el forum. Pero no creo que haya uno que se adapte exactamente a usted, todo el código está seguro, pero no en un solo script.
Es posible que alguien haya escrito dicho guión y nunca lo haya publicado. Ya que es algo sencillo de hacer y el uso de todos es diferente. Por ejemplo, ¿cómo planeas marcar tus correos electrónicos (los que ya has leído, ejecutado, etc.)? Puede ser útil usar un filtro de Gmail para ayudarlo, colocando los correos electrónicos de "comando" en una etiqueta de inmediato, y la secuencia de comandos simplemente elimina la etiqueta (y posiblemente configure otra). El punto es, mira cómo puede diferir mucho.
Además, creo que es más fácil si puede mantener todas las funciones en el mismo proyecto de script. Posiblemente solo en diferentes archivos. Como llamar a diferentes scripts es mucho más complicado.
De todos modos, él es como me gustaría empezar es:
//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: No he probado este código
¿Hay ahora forma de activar el script cuando se recibe un correo electrónico (en lugar de simplemente configurar un temporizador)? – Trevor
@threed No es que yo sepa de –
Bueno, eso es inútil entonces. ¿Nada como procmail en GMail? – Michael