LINE Notify 是一個官方帳號
你可以在任何 Line 群組中加入 Line Notify
並運用它來進行通知相關的服務
底下介紹如何搭配 Google Apps Script 和 Google Sheets
來完成一個簡單的自動排程通知服務:
- 取得 Line Notify 的存取權杖
- 建立 Google Apps Script
- 建立 Google Sheets
取得 Line Notify 的存取權杖
1.登入LINE Notify
2.點選右上角:個人帳號 -> 個人頁面 -> 發行權杖
3.填寫權杖名稱
註:此名稱會在通知時作為標題顯示
4.選擇接受通知的群組
註:記得該群組也要把 Line Notify 拉進去喔,不然沒有作用
5.紀錄已發行的權杖
註:權杖代碼只會顯示一次,離開會面前務必先複製
建立 Google Apps Script
1.登入 Google Apps Script
2.點選左上角:新專案
3.撰寫 GAS 代碼
1 | function doPost() { |
註:doPost 這個方法是 GAS 定義的 API,
表示外部用 Post 方法 call 這隻網址時會執行這個方法。
但基本上自動排程不需要從外部呼叫
可以直接從內部設定
4.部署
點擊右上方:部署 -> 部署作業
網頁應用程式下方會有兩個欄位
| 欄位 | 選項與選擇 |
|---|---|
| 執行身份 | 我 |
| 誰可以存取 | 所有人 |
5.設定觸發條件
點擊左側選單:觸發條件
點擊右下角:新增觸發條件
設定觸發條件的欄位
| 欄位 | 說明 |
|---|---|
| 選擇您要執行的功能 | 就是要執行的 function,這邊就選 doPost |
| 選擇應執行的部署作業 | 上端,就是指最後部署的程式代碼,這邊選上端。 這樣每次重新部署就會套用最新的代碼 |
| 選取活動來源 | 時間驅動或是日曆驅動 |
| 選取時間型觸發條件類型 | 時間驅動可以選擇:特定,分鐘,小時,日,週,月 |
| 選取時段 | 根據時間類型的結果選擇 |
註:時間驅動的日行程有一個大坑。
你會發現選項都是區間而不是整點
像是下午 1 點到下午 2 點這樣
那到底觸發的時間會是???
我之前網上查的結果是會在這區間內的一個時間點執行!?
那我自己實測的結果是剛好都會落在某整點的 35 分鐘…
建立 Google Sheets
1.登入 Google Sheets
2.建立表單並記錄 SPREADSHEET_ID
SPREADSHEET_ID 可以直接看網址列得知:
https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/
3.建立表單欄位
一個簡單的範例:
| 主題 | 內容 |
|---|---|
| 訊息 1 | 早安 |
| 訊息 2 | 午安 |
| 訊息 3 | 一起說 |
4.更新 GAS 內容
1 | function doPost() { |
到這裡就完成了一個簡易自動排程的通知功能
接下來就是等待設定好的觸發時間
然後收已經在 Google Sheet 裡面寫好的訊息!
本文作者: David Huang
本文地址: https://davidblog.github.io/2023/08/02/LINE-Notify-排程通知/