D1- 谁适合使用 Google Apps Script (GAS)呀?


Google Sheet 甚至可以帮你 Host 一个网站、能跟 slack 、 Biance 与 Figma 串接,是个超级大宝坑!

这篇文章写给谁?

这篇文章预期写给:「在思考要不要用 GAS 的使用者
这系列文章预计写给:「已决定要入门 GAS 的使用者,怎麽样透过一个个的案例学会使用

先上结论

入门部分,如果这四点满足的话,会推荐尝试试试 GAS ——

(1) 是明确且重复的任务、(2) 跟 Google 线上产品有关的任务、(3) 有程序的基础和(4)是透过电脑浏览器(Browser)使用

以下一点ㄧ点来说明:
(1)任务建议简单的就好,太复杂的系统目前 Debug 相对不太容易。
(2)产品、环境是 Google 生态系 相关的,包括 Google Slides、Docs、Calendar、Gmail 等,(不然之前换工作时,发现新公司主要用 Microsoft ,就会有种打掉重练的感觉)
(3)程序基础大致是 Google developer guide 有个 8 成的理解,包括知道变数如何定义、function 如何使用与 Array 等,如果想架设网站,会需要知道些 HTML 和 CSS(基本上是 W3C 的内容有刷过、基本会用即可)
(4)在写这边文章的目前,GAS 还未支持手机版用户,所以不管是开发还是使用上,都会需要透过网页版的 GAS 来达成。

而如果非入门者再评估要不要用 GAS 开发系统的话...

个人觉得「建议不要用於开发 Add-on 以外的商业系统」,背後原因主要是包含沟通、云端费用等,长期成本不会比较低。如果需要控制 Google Drive 里面的系统,再开发 GAS 的 Microservice。


Google Apps Script 是什麽

简单讲,会是「自动化Google 产品、第三方服务任务的简单方式」,举凡要操作 Google drive 里面内容的都可以透过 GAS 完成。包括重新命名、移动、复制档案、权限设置等等。

比较完整的定义,Google Apps Script 则是 Google 开发的脚本平台(Scripting Platform),专门为 Google Workspace 轻量化的应用程序(light-weight applications),所有的脚本会预设在 Google Cloud 上完成。最早是在 2009 年五月由 Google Docs 的 PM Jonathan 释出,最初是由 JavaScript 1.6 开发,後续支持 JS 1.7 / 1.8 / ES5...,现在则部分支持到 ES6 [1][2]。

Google Apps Script 能做什麽?

  • 将 Google 系列产品的任何动作自动化
  • 目前在 Google App Store 看到给 Google Docs、Sheets 和 Slides 等的 Add-ons 几乎都是由 GAS 完成[2]
  • 整合一些第三方的系统如 slackFigma,甚至有人拿来串接 Binance API

Google Apps Script 有什麽限制?

  • 免费的使用量有 Quota[3],一天最多寄给 100 给人等,超过则会另外收费。
  • 使用上有些官方设定的限制 Limitation,像是比较重要的是会限制一段执行限制在六分钟以内。所以相对不支持想要「持续连线」式的监控(有替代方案,是会在第二章提到的「触发条件」);也不适合费时较久的程序码,像是处理影像或特别大笔的运算。

  • 开发者与使用者都是使用网页版的 Google 系统。写文章的目前,GAS 尚未支持在 App 中使用(iPhone 和 iPad) 。

这系列文章打算怎麽做?

分享个人用 GAS 的经验

Google App Script (GAS) 加速了我许多的工作效率,有抓出 500+ Drive 内的档案 ID、生出 100+ 微调给客户的 Google Slides 和 Google Documents、100+ 微调图表,以及快速设定分层的管理权限。

它的好处是全部云端完成,也可以包装成 add-ons 让他人只要有连结就可以使用。 持续用 GAS 玩一些简单系统,之前拿来搞过医学院的面试系统XD、Kanban、会议室预约(结合 Gmail)、To-Do List 结合 Calendar 和看盘小帮手。GAS 帮我节省了很多的时间,也希望能帮助你加入燃料(GAS),提升效率。

所以,目前的课纲是...(迭代中)

  • GAS 基本介绍与名词解释
  • GAS 怎麽开始设定环境?
  • 怎麽透过 GAS 设定自动开启与关闭的 Google 表单?
  • 怎麽用 GAS 操作 Google Drive?
  • 怎麽用 GAS 操作 Google Doc / Slides / Form?
  • 怎麽用 GAS 操作 Google Sheet?
    • 创建大量图表
    • 创造大量文件
  • 怎麽用 GAS 建立会议室预约系统(Gmail / Google Calendar)?
  • 怎麽打包 GAS 的产出?
    • 建立简单的动态网站
    • 弄成可连线的 Apps
    • 打包成 Add-Ons
  • 怎麽用 Google Sheet + GAS 打造自己的看盘小帮手?

预计怎麽写?

我会希望能尽量透过「影片转成 GIF」的方式,原因是有图片会比较清楚实际的位置、流程;而 GIF 则可以省掉大家一直按影片的播放、暂停的时间。

今天是第ㄧ天,把动机与接下来一个月的规划跟大家分享,希望能跟大家分享这项好工具并节省时间,也欢迎留言跟我说想看到什麽样的题目喔!希望能帮助到大家!


[1]: 官网 说仍尚未支持,而 20210901 简单测试 Array.includes() 使用成功
[2]: https://en.wikipedia.org/wiki/Google_Apps_Script
[3]: https://developers.google.com/apps-script/guides/services/quotas


<<:  第一份软件开发工作

>>:  我们的基因体时代-AI, Data和生物资讯 Day01- 超越摩尔定律的资料增长

23.MYSQL IN指令

IN跟OR其实是很相像的东西,但是IN比OR更好使用 不需要用拢长的句子,就可以达成和OR一样的目的...

ISO 27001 资讯安全管理系统 【解析】(十)

(三)不同的范围 范围界定是规划资讯安全管理系统(ISMS)的导入及实施的关键点,组织通常会细分为较...

【Day 3】机器学习基本功(一)

机器学习三大步骤 定义一个模型(model) 从模型里挑出好的函式(function) 经由演算法找...

初学者跪着学JavaScript Day9 : 让我困惑的Literals

一日客语:中文拜拜 客语:嘎子 Literal 是最近让我困惑的字,Literal到底是指? 之前对...

那些多人混战的开发经验谈

今年年初,刚好被大学学长推坑 COSCUP 开发组,这次的官网是以去年为基础去做修改的,所以并没有花...