。 forumで関連するディスカッションを検索することもできます。しかし、私は正確にあなたに合ったものはないと思っています。すべてのコードは確かにそこにありますが、単一のスクリプトではありません。
誰かがこのようなスクリプトを書いて、それを公開したことはない可能性があります。それはやや単純なので、みんなの使い方が違います。たとえば、電子メールのマーキング(既に読んだこと、実行したことなど)をどのように計画していますか? Gmailのフィルタを使ってすぐにラベルに「コマンド」メールを入れ、スクリプトでラベルを削除するだけで、別のラベルを設定することもできます。ポイントは、それがどう違うかを見てください。
また、すべての機能を同じスクリプトプロジェクトに保存することができれば簡単だと思います。たぶん異なるファイルにある可能性があります。別のスクリプトを呼び出すのはもっと複雑です。
とにかく、彼は私がそれを開始したい方法は次のとおりです。
//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:私はこのコード
は現在、電子メールを受信したときに)代わりにちょうどタイマーを設定する(スクリプトをトリガする方法はありますか? – Trevor
@threedわかりません –
それはちょうど役に立たないです。 GMailのprocmailのようなものはありませんか? – Michael