【问题标题】:How to deploy Google Apps Script across all GSuite users?如何在所有 GSuite 用户中部署 Google Apps 脚本?
【发布时间】:2019-06-05 08:56:04
【问题描述】:

以下脚本供参考。

我创建了一个脚本,将所有标记的电子邮件转发到文件帐户。我想将此部署到我域中的所有 GSuite 用户 - 但是我不了解这样做的过程。

部署为“Web App”,允许我将使用限制在我的域中,但似乎需要一个“doGet”函数(即使我的脚本不使用一个 - 因此顶部的空白行),但是那么我不知道如何在 GSuite 用户中部署它

文档似乎建议我可以在“Chrome 网上应用店”中进行部署,然后将其添加给所有用户 - 但我希望这对我的域来说是私有的,而不是公开的。

我确信这是可能的,但无法从文档中找出如何处理它。

谢谢

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);
      }
    }
  }  
}

【问题讨论】:

    标签: google-apps-script deployment google-workspace


    【解决方案1】:

    您应该将触发器创建部分放在 doGet 函数中。然后将此脚本发布为 Web 应用程序,以便只有您域中的用户才能访问此 Web 应用程序。

    现在与您域中的用户共享网络应用程序的 URL,他们可以在网络浏览器中打开该 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!");
    
    }
    

    【讨论】:

    • 谢谢,这真的很有帮助。作为域管理员,他们是否有任何方法可以在没有特定用户干预的情况下部署 Web 应用程序?
    • 这更复杂,但使用服务帐户肯定是可能的。阅读此链接以了解更多信息developers.google.com/identity/protocols/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多