下面的脚本可供参考。
我创建了一个脚本,该脚本将所有带标签的电子邮件转发到文件帐户。我想将此部署到我域中的所有GSuite用户-但是我不知道这样做的过程。
作为“ Web应用程序”进行部署,允许我将使用限制为仅用于我的域,但是似乎需要一个“ doGet”功能(即使我的脚本不使用一个功能-因此顶部是空白行),但是那么我就无法确定如何在GSuite用户之间进行部署
文档似乎建议我可以在“ Chrome Web Store”中进行部署,然后将其添加到所有用户-但我希望此域对我的域私有,而不是公开提供。
我敢肯定这是可能的,但只是无法从文档中找到解决方法。
谢谢
function doGet(e){return ContentService.createTextOutput("")}
var triggers = ScriptApp.getProjectTriggers();
for (var i = 0; i < triggers.length; i++) {
ScriptApp.deleteTrigger(triggers[i]);
}
ScriptApp.newTrigger("autoForward")
.timeBased()
.everyMinutes(5)
.create();
function autoForward() {
var recipient = 'file@domain.co.uk';
var labels = GmailApp.getUserLabels();
for (var i = 0; i < labels.length; i++) {
if(labels[i].getName().indexOf("Clients/")>-1){
var threads = GmailApp.search('label:' + labels[i].getName() + ' NOT label:filed');
var label = GmailApp.getUserLabelByName("filed");
for (var j = 0; j < threads.length; j++) {
var messages = threads[j].getMessages();
messages[messages.length - 1].forward(recipient,{name: labels[i].getName()});
threads[j].addLabel(label);
}
}
}
}
答案 0 :(得分:1)
您应该将触发器创建部分放在doGet函数中。然后将此脚本发布为Web应用程序,以便只有您域中的用户才能访问此Web应用程序。
现在与您域中的用户共享Web应用程序的URL,他们可以在Web浏览器中打开URL,使用其Google帐户进行授权,脚本会将其电子邮件转发给预期的收件人。
function doGet() {
var triggers = ScriptApp.getProjectTriggers();
for (var i = 0; i < triggers.length; i++) {
ScriptApp.deleteTrigger(triggers[i]);
}
ScriptApp.newTrigger("autoForward").timeBased().everyMinutes(5).create();
return ContentService.createTextOutput("Script setup complete!");
}