iT邦幫忙

2024 iThome 鐵人賽

DAY 30
0
IT 管理

30 天玩轉 GAS: 打造你的個人自動化助手系列 第 30

[Day 30] GAS 最終回 - 總回顧、限制、資源,下一步該怎麼走

  • 分享至 

  • xImage
  •  

恭喜大家跟著我一起成長到了第 30 天!短時間內寫 30 篇技術文章真的是...夭壽累:)
最後還是帶大家回顧一下,並且把過去 29 篇稍微分成了幾大類,
大家可以依自己需求找到對應的文章:

回顧系列文章

1. 基礎認識與入門

2. 觸發器與自動化工作流

3. 資料處理與操作大全

4. API 與進階應用整合

GAS 的配額與限制

GAS 有很多優點:

  • 自動化繁瑣任務
  • 整合 Google Workspace 應用程式
  • 創建自訂應用程式和功能
  • 跨平台使用,無需額外安裝
  • 直接透過電腦瀏覽器使用,不需安裝環境

但相對來說,也是有他的限制在:(以個人用戶限制來說明)

  • 每一個 GAS 程式不可連續運算超過 6 分鐘
  • 每一個 GAS 程式每秒最多只能呼叫執行 30 次
  • 每天只能傳送電子郵件給最多 100 個不同收件者
  • 執行速度慢

下面是 chatGPT 幫大家把限制們整理成的表格🤪:

每日配額 Quota

功能/產品 個人帳戶限制 Google Workspace 帳戶限制
URL Fetch 每日 20,000 次 每日 100,000 次
電子郵件發送 每日 100 封 每日 1,500 封
Google Sheets 每日 500,000 次 每日 2,000,000 次
表單觸發器 每日 1,440 次 每日 1,440 次
讀取/寫入單元格 每日 1,000,000 次 每日 1,000,000 次

限制 Limitation

限制類型 描述
執行時間限制 個人帳戶 6 分鐘;Google Workspace 帳戶 30 分鐘。
每日配額限制 依據功能而異,如 URL Fetch、電子郵件發送等,有不同的每日上限。可參見上表或是官方文件
同時執行限制 每個用戶同時執行的腳本實例最多 30 個。
文件大小限制 Google Sheets 最大 10 萬單元格,Google Docs 最多 1,020 萬字元。
觸發器限制 每個帳戶最多設置 20 個觸發器,時間觸發器每日最多執行 1,440 次。

官方可能會隨時間改變限制,更多具體的詳細限制可以參考 Google Apps Script 的官方文件

資源

官方文件當然是最重要的,任何資源都有可能會錯,官方文件是唯一正解(通常啦)

寫出這三十天的文章當然不是單看官方文件就能刻出來的,還要感謝許多前人的分享
其實先前就有邦主在發 GAS 系列的文章,不得不說真的是寫得比我好太多了,真的大推!
感謝邦主們讓我詳細了解各種 Google 產品 GAS 的架構!

前兩天還發現本屆鐵人賽有人跟我寫類似的題目!就是 Henry Yang 亨利羊 大大的

另外還有在網路上找到整理超詳細的來自 鄭郁翰 講師 的 GAS Hackmd 公開筆記

其實也有公開專門討論 GAS 的 FB 社團,如果大家真的遇到解不開的問題也可到下方兩個社團尋求協助

下一站,幸福? 下一步該往哪走

看這個標題就知道小妹有年紀了嗚(不是重點
首先感謝你耐心追完這三十篇 GAS 的系列文章
講了不少但還是無法涵蓋全部的應用,像是還有 Gmail, Google Meet, Google Keep, Google Map 等產品都是可透過 GAS 來控制
再更進階的話,你也可以試試把程式部署成 Google Workspace Marketplace 應用程式

還有太多技巧可能來不及講完或是忘了說(?),其實更多會需要你從實作的過程中去發覺

「啊程式怎麼停下來了?」
「要怎麼樣再去串另一個服務?」
「有沒有辦法再把介面弄的更好看,讓使用者更直覺?」
「能不能再讓程式更聰明,讓我更省點力?」

今天已經是最後一天,最後想給大家繼續學習的撇步~

學會發問、求證、找答案

兩年多前開始用 GAS 的時候,每次遇到問題都要去 google 找答案
那時 GAS 討論風氣還相對沒那麼興盛,很多都要慢慢查、慢慢試出來~
這兩年生成式 AI 快速發展,現在不論什麼問題問 AI 就可以獲得答案(但也不保證是正確的哈哈,記得慢慢偵錯求證)
除了常見的 chatGPT, claude.ai, Perplexity 以外,最近發現 GAS 官方文件也做出類似的服務
他們在官方文件提供類似專門給開發人員的 chatGPT 來使用(在右邊的側欄)
大家也可以使用這個來試試看,也許會找到更準確的答案(?)

https://ithelp.ithome.com.tw/upload/images/20241012/20137680aRgiuNGoOd.png

前幾天看到蔡炎龍老師在臉書上分享,看到有一篇賓州大學的論文提出「生成式 AI 可能損害學習」

問 chatGPT 問題真的不利我們的學習嗎?

Mitchel Resnick 寫的 "Generative AI and Creative Learning: Concerns, Opportunities, and Choices"。 他在《學習就像終身幼兒園》提到了創意學習的 4P, 可以用他自己的一句話來說明:
「基於自己的「熱情」(Passion), 與「同伴」(Peers) 合作, 帶著「好玩」(Play) 的心態參與「專案」(Projects) 時, 他們最有可能發展成為具有創造力、好奇心和協作精神的學習者。」

chatGPT 是為了讓我們去完成目標的一項工具,而這個過程也不太可能是一路順遂的
我們可以在問答的過程中汲取相對應的知識,當這個去完成目標的閾值降低後
能提高自身的成就感及好奇心,去實現更多更有趣的專案!
畢竟持續學習就是靠著不斷被激發出的好奇心前進 😉😉😉

先求跑、再求對、再求快

這句話是引用自 Mosky 多年前的專訪:Make it run, make it right, make it fast.
我們可以很徒法煉鋼的讓程式先跑起來,我們再看看怎麼把程式寫好、寫的漂亮
最後就是來最佳化跑程式的效率,讓整體執行效率更好!

以我自己的經驗來說,我曾在實作一個 Google Sheet 的 projects 時
試圖讓兩個 sheet 資料同步,原本是一列一列去 getValue 再去一格一格去 setValue
隨著資料越來越多,難以在限制時間內完成同步
後來 Google 後發現,一列一列讀寫跟一次把整張表讀起來寫進去的 IO 時間,差得有~夠~多~
因此就改用 getValues() 來取代原本的 getValue(),效率提升了 10 倍之多!

沒有永遠完美的程式,我們需想辦法不斷的進化再進化

需求為重,程式只是工具

很高興是因為跑了 PyCon TW,知道內部溝通及文件管理其實消耗了大家很多時間
才發現有 GAS 這個工具能夠去解決這些文件相關的管理問題,也讓我稍微重拾 javascript 的技能 XD

我們寫程式最重要的目的就是為了 解決問題
可以試著在你生活、工作、組織中找到有沒有事情是重複發生的瑣事、或需大量產出的作業
有沒有辦法用程式來解決這個問題,不一定要用 GAS (只是因為我們社群協作都在 google 的平台上,因此 GAS 成為剛好最方便的工具 XD)

PyCon TW 中我們有許多自動化工具們,不過下面都是用 Python 寫的 😉:

希望大家都能「發現」日常任務中的不方便、困難,並試圖來「解決」或「自動化」這些瑣事,
讓自己能夠有更多時間,處理更有價值的事!


感謝你耐心看完了這三十天的文章,讓我們一起學會用程式解決問題、改善生活!🫶
最後感謝揪我一起報名鐵人賽的夥伴們小楊跟鯉魚~有興趣的朋友們也一起來看看他們的系列文吧!

https://ithelp.ithome.com.tw/upload/images/20241012/20137680FglVHJGbK9.jpg


上一篇
[Day 29] GAS - 什麼!還能架網頁!來動手做 To-Do List
系列文
30 天玩轉 GAS: 打造你的個人自動化助手30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0

感謝!

你這篇我深有共鳴!

蔡炎龍老師與Mosky,也是我一直也在關注的對象!
另外你的各種梗圖,也都讓我覺得非常親切熟悉XDDD

恭喜完賽!

Winnie iT邦新手 5 級 ‧ 2024-10-16 10:45:47 檢舉

嗚嗚感謝亨利羊的關注~~
看來我們是同個年代的(笑
你也是!大大今年還攻兩個鐵人賽太強大了!恭喜完賽!

我要留言

立即登入留言