Как развернуть Google Apps Script для всех пользователей GSuite? - PullRequest
0 голосов
/ 05 июня 2019

Скрипт ниже для справки.

Я создал скрипт, который перенаправляет все помеченные письма в учетную запись файла.Я хотел бы развернуть это для всех пользователей GSuite в моем домене - однако я не понимаю процесс для этого.

Развертывание как «Веб-приложение», позволяет мне ограничить использование только моим доменом,но, похоже, требуется функция «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);
      }
    }
  }  
}

1 Ответ

1 голос
/ 05 июня 2019

Вы должны поместить часть создания триггера в функцию doGet.Затем опубликуйте этот сценарий как веб-приложение так, чтобы только пользователи в вашем домене могли получить доступ к этому веб-приложению.

Теперь предоставьте 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!");

}
...