Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 如何跨所有GSuite用户部署Google应用程序脚本?_Google Apps Script_Deployment_Google Workspace - Fatal编程技术网

Google apps script 如何跨所有GSuite用户部署Google应用程序脚本?

Google apps script 如何跨所有GSuite用户部署Google应用程序脚本?,google-apps-script,deployment,google-workspace,Google Apps Script,Deployment,Google Workspace,下面的脚本供参考 我创建了一个脚本,将所有标记的电子邮件转发到一个文件帐户。我希望将此部署到我域中的所有GSuite用户,但是我不了解这样做的过程 部署为“Web应用程序”,允许我将使用限制为我的域,但似乎需要一个“DOTET”函数(即使我的脚本不使用一个-因此在顶部的空白行),但我不能解决如何部署跨GSube用户 文档似乎建议我可以在“ChromeWebStore”中部署,然后将其添加到所有用户,但我希望这是我的域的私有内容,而不是公开的 我相信这是可能的,但从文档中无法确定如何处理它 谢谢

下面的脚本供参考

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

部署为“Web应用程序”,允许我将使用限制为我的域,但似乎需要一个“DOTET”函数(即使我的脚本不使用一个-因此在顶部的空白行),但我不能解决如何部署跨GSube用户

文档似乎建议我可以在“ChromeWebStore”中部署,然后将其添加到所有用户,但我希望这是我的域的私有内容,而不是公开的

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

谢谢

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);
      }
    }
  }  
}
函数doGet(e){return ContentService.createTextOutput(“”)}
var triggers=ScriptApp.getProjectTriggers();
对于(var i=0;i-1){
var threads=GmailApp.search('label:'+labels[i].getName()+'notlabel:field');
var label=GmailApp.getUserLabelByName(“已存档”);
对于(var j=0;j
您应该将触发器创建部分放在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!");

}
函数doGet(){
var triggers=ScriptApp.getProjectTriggers();
对于(var i=0;i
您应该将触发器创建部分放在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!");

}
函数doGet(){
var triggers=ScriptApp.getProjectTriggers();
对于(var i=0;i
谢谢,这真的很有帮助。作为一名域管理员,他们是否有任何方法可以在没有特定用户干预的情况下部署web应用程序?这更为复杂,但使用服务帐户肯定是可能的。阅读此链接了解更多信息谢谢,这真的很有帮助。作为一名域管理员,他们是否有任何方法可以在没有特定用户干预的情况下部署web应用程序?这更为复杂,但使用服务帐户肯定是可能的。阅读此链接了解更多信息