0

这就是我希望能够做到的。这样做的目的是管理使我们的教堂每周日运行所需的各种志愿者。

有一个 Google Docs 电子表格,其中包含志愿者的姓名以及他们愿意担任哪些角色(例如,蒂姆自愿担任引座员;安娜自愿担任讲师)。

有一张单独的表格列出未来 6 个月需要填补的每个志愿者职位(例如,我们需要 2 名引座员和 1 名讲师在周日)。

编写一个 Google Apps 脚本,该脚本将遍历需要填补的职位列表,然后选择下一个被要求填补该职位的志愿者(可能基于过去担任该职位的人数最少)。然后,该脚本会向该志愿者发送一封电子邮件,并询问他们是否可以担任该职位。理想情况下,电子邮件将基于 HTML 并在其中包含 2 个链接:1 个供他们单击以接受该职位,1 个供他们单击以拒绝该职位。

如果志愿者接受该职位,脚本会将他们的姓名添加到该职位。如果志愿者拒绝该职位,脚本将转到下一个志愿者并发送相同的电子邮件。

脚本将继续此过程,直到所有空位都被填满或所有志愿者都拒绝为止。

除了电子邮件中的链接,我可以概念化我需要做的所有事情。

有人对动态生成这样的链接的方法有任何建议吗?

关于如何构造我的脚本来做我想做的事,还有什么其他想法吗?

显然,我仍处于思考阶段,所以我愿意接受任何建议。

提前致谢。(我们小教会的成员也感谢你!)

4

1 回答 1

1

生成链接当然是可能的!我最近写了一个答案。您不需要该答案的所有部分。也许你应该看看这个答案

无论如何,一些示例/伪代码。

var scriptUrl = ScriptApp.getService().getUrl(); //URL to invoke your script

var message = "blah blah event details blah blah"
    +" <a href=\""+scriptUrl+"?user="+user+"&accept=no\">Decline</a>"
    +" or <a href=\""+scriptUrl+"?user="+user+"&accept=yes\">Accept</a>";

MailApp.sendEmail(recipent,subject,"",{htmlBody:message});

然后,您可以使用我在上面的答案中解释的 doGet(e) 参数来处理它。

function doGet(e) {
  var user = e.parameter.user;
  var accept = e.parameter.accept;

  if (accept=="yes") {
    //he/she accepted!!
  } else {
    //he/she declined. =(
  }
}
于 2013-02-21T18:48:03.793 回答