在发送电子邮件之前,Gmail附加组件会对签名进行修改

时间:2018-06-21 06:59:14

标签: google-apps-script gmail gmail-api gmail-addons

我是Google Script的新手,但最终我创建了一个插件来修改当前签名,因此gmail在收到某人的签名时不会对其进行修剪。

想法是,当我向某人发送电子邮件时,将触发该插件,因此基本上,该插件始终处于打开状态。但我不知道在发送电子邮件时如何触发它,因为在应用程序脚本中,触发功能仅适用于以下选项: enter image description here

到目前为止,这是我的代码

function setSignature() {
  var date = new Date();
  var timestamp = date.getTime();

  var aliases = [];

  Gmail.Users.Settings.SendAs.list("me").sendAs.forEach(function(e) {
    if (e.isPrimary === true) {
      aliases.push({
        sendAsEmail: e.sendAsEmail,
        replyToAddress: e.replyToAddress,
        displayName: e.displayName,
        treatAsAlias: e.treatAsAlias,
        signature: e.signature +"<div style='color: #fff;'>"+ timestamp +"</div>"
      });
    }
  });

  Gmail.Users.Settings.SendAs.patch(aliases, "me", aliases[0]["sendAsEmail"]);
}

这是appsscript文件

{
  "timeZone": "Asia/Hong_Kong",
  "dependencies": {
    "enabledAdvancedServices": [{
      "userSymbol": "Gmail",
      "serviceId": "gmail",
      "version": "v1"
    }]
  },
  "exceptionLogging": "STACKDRIVER",
  "oauthScopes": ["https://www.googleapis.com/auth/userinfo.email",
                  "https://www.googleapis.com/auth/gmail.modify",
                  "https://www.googleapis.com/auth/gmail.readonly",
                  "https://www.googleapis.com/auth/gmail.settings.basic",
                  "https://www.googleapis.com/auth/gmail.settings.sharing"]
}

,当我尝试使用附加组件时,它失败了。这是我正在逐步执行的操作:

我从Publish > Deploy from Manifest获得了附加ID enter image description here

,然后启用开发人员模式并添加之前的ID enter image description here

但是为什么会说无效加载项? enter image description here

1 个答案:

答案 0 :(得分:0)

您要执行的操作将无法实现。加载项不知道外部发生了什么。 Gmail插件无法检测到您已通过Gmail UI发送了电子邮件,因此您需要构建 Gmail浏览器扩展程序才能执行所需的操作。

我们一直在做类似的事情而没有运气。