14

我正在寻找在 GoogleAppsForBusiness 域中运行的恶魔脚本可以解析传入电子邮件的模式示例。一些消息将包含对不同 GAScript 的调用,例如,可以更改特定文档的 ACL 设置。

我假设其他人已经实现了这种模式,但不确定我如何寻找示例。

谢谢

4

3 回答 3

14

您可以在 Apps 脚本用户指南教程中找到脚本示例。您也可以在论坛上搜索相关讨论。但我认为没有一个完全适合您,所有代码肯定都在那里,但不是在一个脚本上。

可能有人编写了这样的脚本但从未发布过。因为它做起来有点简单,而且每个人的用法都不一样。例如,您打算如何标记您的电子邮件(您已经阅读、执行的电子邮件等)?最好使用 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:我没有测试过这段代码

于 2012-05-03T03:47:53.443 回答
6

您可以创建一个 google 应用程序,该应用程序将由发送到应用程序特殊地址的传入电子邮件触发。该消息将转换为您的应用程序接收的 HTTP POST。

更多详细信息: https ://developers.google.com/appengine/docs/python/mail/receivingmail

我自己还没有尝试过,但在接下来的几天里会这样做。

于 2012-07-08T23:22:43.040 回答
0

有两种方法。首先,您可以使用 Google pub/sub 并在您的 AppScrit 端点中处理传入通知。第二种是在你的 AppScript 代码中使用 googleapis npm 包,这里是一个示例。希望能帮助到你。

这些是步骤:

  • 在https://console.cloud.google.com/cloudpubsub/topicList?project=testmabs上做了一个项目?
  • 做了一个pubsub主题
  • 订阅了 webhook url
  • 将该网址添加到我拥有的网站中,我猜?我想我必须做 DNS 的事情来确认我拥有它,并且在尝试添加订阅时,错误非常模糊,无法确定这是我必须做的事情
  • 添加了“gmail-api-push@system.gserviceaccount.com”作为发布者的主题权限(我还添加了 ....apps.googleusercontent.com 和 youtrackapiuser.caps@gmail.com 但我认为我不需要它们)
  • 创建 oauth 客户端信息并将其下载到谷歌控制台的凭据部分。(oauthtrash.json)
于 2017-06-16T00:31:07.730 回答