我正在寻找一个模式的示例,其中在GoogleAppsForBusiness域中运行的恶魔脚本可以解析传入的电子邮件。某些消息将包含对不同GAScript的调用,例如,可能会更改特定文档的ACL设置。
我假设其他人已经实施了这种模式但不确定我如何寻找示例。
THX
答案 0 :(得分:13)
您可以在应用脚本user guide和tutorials中找到脚本示例。您还可以在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:我还没有测试过这段代码
答案 1 :(得分:6)
您可以创建一个谷歌应用,该应用将由发送到该应用的特殊地址的传入电子邮件触发。邮件将转换为您的应用程序收到的HTTP POST。
此处有更多详情: https://developers.google.com/appengine/docs/python/mail/receivingmail
我自己还没有尝试过这个,但是接下来的几天就会这样做。
答案 2 :(得分:-1)
有两种方法。首先,您可以使用Google pub / sub并在AppScrit端点处理incomming通知。第二种是在AppScript代码an example here中使用googleapis npm包。希望它有所帮助。
以下是步骤: