google-apps-script - Google Apps中添加新群组成员的自动化--使用Google Script

标签 google-apps-script automation google-groups

我正在努力实现我认为在 Google Apps 中相当简单的自动化,但我是 Google Scripts 的新手,无法弄清楚执行脚本的触发器是如何工作的。

这是一些描述我认为我需要做的事情的伪代码:

//When a new group is created execute the function below

function addNewSalesTeamGroupMember() {
  //Get the new group's id/email address
  //Add it as a new member of the Sales Team group (id=SalesTeam@mydomain.com)
}

这里是手头任务的一些背景:

我有一个使用网上论坛作为电子邮件转发器的 Google Apps 帐户。例如,有 50 个组,每个组有 1 个成员,用于为销售团队成员提供域上的电子邮件帐户(例如 salesguy@mydomain.com 是一个组,其唯一目的是转发到销售人员的第三方电子邮件地址: salesguy@yahoo.com)。还有另一个组 SalesTeam@mydomain.com,其中包含每个销售团队成员,因此经理可以立即向整个销售团队发布公告。

我的任务是编写一个脚本,在创建时自动将创建的任何新销售成员添加到 SalesTeam 组中。因此,它需要在添加新销售成员时运行(即创建新组时)。

我有 API for updating Groups ,但我找不到任何资源来描述如何编写触发器来告诉脚本在创建新组时执行,从而能够检索新组的地址。换句话说,我希望了解如何在 Google Scripts 中编写这部分伪代码:

//When a new group is created execute the function below

最佳答案

这是可行的,但您需要在这里做一些事情。 由于谷歌应用程序脚本无法查看您是否创建了需要比较内容的群组。 首先执行此代码以获取所有组并将它们放入数据库中:

function startUp() {
  var groups = GroupsManager.getAllGroups();
  var db = ScriptDb.getMyDb();
  for (var a in groups){
    var ob = {group: groups[a].getId()};
    db.save(ob);
  }
}

现在我们有了一个充满我们组的数据库,我们将创建一个函数来检查是否添加了新组:

function control() {
  var db = ScriptDb.getMyDb();
  var results = db.query({});
  var groups = GroupsManager.getAllGroups();


  while (results.hasNext()) {
    var result = results.next();
    var group = GroupsManager.getGroup(result.group);
    for (var a in groups){
      if (groups[a].getId() == group.getId()){
        //things stay the same remove it from the groups array
        groups.splice(a,1);
        break;
      }
    }
  }
  //whats left in the array should be a new group
  for (var a in groups){
    //save it first
    var ob = {group: groups[a].getId()};
    db.save(ob);
    //And now tell your script to add this email to the group you want
    GroupsManager.getGroup("SalesTeam@mydomain.com").addMember(groups[a].getId());
  }
}

现在转到您的脚本触发器并设置一个时间驱动的触发器,以决定您希望多久执行一次此功能。

谨致问候,

托马斯范拉图姆

关于google-apps-script - Google Apps中添加新群组成员的自动化--使用Google Script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12605870/

相关文章:

testing - 拆分 Jenkins Job 并发运行

php - Google网上论坛替代品

google-admin-sdk - 无法检索 Google 群组的成员,获取无效输入

javascript - 语法错误: Unterminated parenthetical,如何处理 "( )"

csv - IMPORTDATA 的实际限制似乎低于广告(使用 150 万个单元格测试导入数据)

javascript - 比较两种不同格式的时间戳 - GAS

google-apps-script - Google Apps 脚本图表 vAxis.title 不工作

ruby - cucumber / ruby : is it possible to intercept HTTP requests/responses from browser?

perl - 将参数传递给 Test::Class Setup 方法

google-groups - 如何从Google网上论坛下载所有邮件?