gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 01:11:53 25 4
gpt4 key购买 nike

我正在努力实现我认为在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com