今天开始就要来利用专题了解 GAS 的各项功能罗~
说到要能优雅、或是狼狈的…总之要能够享受下午茶,不管你的状态为何,你都必须要有「时间」。
而系统自动化,也就代表了:
这样你想要怎麽样去喝下午茶、吃点心,咳咳,我是说有充分时间去处理其他案子,那都是你的自由啦!
这个专案的故事是这样的:
STOP……我们快转!
学生最常发生的就是帐号密码丢失,常常要跑来找资讯组协助处理。
但是最麻烦的就是当我改完帐号密码後,还得一个一个寄通知给学生,而且每个学生申请的帐号密码修正又不一样,要寄不同种信又很麻烦…
所以我就想,那能不能利用 GAS 的力量来协助我进行自动化呢?当我修改完後,只要到表单打勾,GAS 就能自动寄出信件给申请的学生,这样不就简单了吗?
没错,当我想到这里,心中都热血沸腾起来了!
作为一个懒人,能用系统解决的问题才是最方便的,因此我们就来看看这个专题怎麽写吧!
首先,我们要先建立流程,我用 draw.io 简单画了一个流程:
目前看起来,第三步没有问题,这边有很多系统没有开 api ,有心而无力去改啊…
第一步与第二步我也没有想要另写网站,开个 Google Form 就好,像这样:
等等,开个 Google Form 表单,那不就代表我们可以将作答状况连动到 Google 试算表吗!?
如果用试算表当作是我们的 DB ,那麽是不是就可以用 GAS 来串接我需要的服务了呢!?
就让我们来试试看!
利用表单来开启 Google 试算表:
你如果有现成的试算表可以选「选取现有试算表」,但是我相信大家应该还是见一个新的比较方便吧?
按下「建立」後,就开启了一个试算表的页面。
那我们要怎麽样将 GAS 附加到我们的表单上呢?
有两种方案:
当然,我不建议第一种,比较麻烦,所以我们用第二种来实作!
找到 工具 > 指令码编辑器
,就可以顺利打开 Google Apps Script 服务罗!
熟悉的介面最对味~
然後我们稍微修改一下专案名称,这样比较好看。
基本上的前置作业都完成罗!
接下来我们就是要开始写 Code!
但是在写之前,先思考一下我们希望这套系统会发生什麽事情:
按下某个按钮会触发事件?咦?我们该怎麽处理呢?
稍微翻了一下文件发现:原来 GAS 有提供基本的触发函式,可以让我们在对文件做某些动作时可以控制。
藏在这里
往下翻一翻,看到了他提供的几种触发模式:
看来看去,最有用的应该还是 onEdit()
这个触发函式。
因为试算表中没有按钮啊!?
但是 Google 试算表中却有着 Check Box
当我们按下 Check Box 时,不就在针对文件进行 Edit 了吗?
因此我们用 onEdit()
作为我们的触发函式:
这边我们先来简单测试一下好了!我在里面打上 console.log('我被改变了喔!')
来看看当表单进行修改时会发生什麽事情:
按下执行後:
诶?我们没有动到试算表啊,为什麽会动呢?
原来是因为,我们按下执行时,是在针对这个函式做单元测试,那当然就不是我们改变後才会发生啦!
那怎麽样让他发生呢?答案很简单:
没错!不用再动了,因为他已经跟试算表绑定了,而且我们也藉由 onEdit()
这个基础触发函式,让试算表出现编辑时,会自动执行 onEdit()
方程序。
我们回到试算表修改看看:
然後回头再看 console:
咦?执行了吗?不对啊,跟上面的那张还是一模一样耶!
没错,聪明的你应该发现了,我没办法在这边看到我的触发结果喔!
那去哪里看呢?
记不记得我们有讲过一个侧边栏?
我们切换到「执行项目」的页签下,然後就会看到:
J, J ㄍ是!?
没错,你看到了许多他自动执行的项目,我们点最上面的一个:
是不是刚刚的字就跑出来了呢?
由於碍於篇幅,以及本人对於睡眠的慾望(你仔细看我的图片中,那个执行的时间就知道了…),因此今天讲到这里罗~
今天我们讲了:
大家可以回头再想一想喔~
记得缴作业喔~(我知道你们前面的作业八成也没有写啦???)
我们明天要开始往下继续写罗~
明天见!
学生:老师,难怪你会胖,原来都是吃下午茶害的啊?
我:没有吼,我下午都是认真做事的,真的!
学生:(瞥了一眼我桌上的零食残余)恩,我相信老师绝对不是因为吃太多零食而变胖的!
我:……
Google Apps Script 网站又改版了,Google 一直在发展这个平台,还会愈来愈好...
经过了差不多两周,我认为监控和警报的部分总算是告了个段落,虽然之後还需要透过实际的收集监控资料来修正...
Intro Complexity 可以了解程序的运作效率 graph 可以把复杂的问题抽象化,或是可...
上一篇我们的基因体时代-AI, Data和生物资讯 Day05- 深度学习在基因体学的建模架构02上...
前言 语法糖 Syntactic sugar,指电脑语言中添加的某种语法,这种语法对语言的功能没有影...