iT邦幫忙

2021 iThome 鐵人賽

DAY 1
3
Modern Web

整合 Google 服務的燃料——透過 Google Apps Script (GAS) 加速你的工作速度系列 第 1

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


下一篇
D2- Google Apps Script (GAS) 的環境設定、專案結構(Trigger)與四種打包方式
系列文
整合 Google 服務的燃料——透過 Google Apps Script (GAS) 加速你的工作速度30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

1
gatelynch
iT邦新手 5 級 ‧ 2021-09-05 00:30:54

太感謝您了,從以前就一直想學習GAS到已經透過clasp支援typescript,卻都一直卡關沒辦法繼續,希望能透過您的教學熟悉GAS的概念與基礎。

0
jillpon
iT邦新手 5 級 ‧ 2022-03-19 11:26:46

感謝分享

我要留言

立即登入留言