最近找房子真的找得好累,偶然間在網路上看到超簡單一鍵推播 591 租屋資訊完全免 Coding-透過 Google Sheet 與 LINE Notify,想要拿來用卻發現好像
已經失效了,想要維護一下發現自己完全不懂這些東西,於是秉持著能坐就不躺,能躺就不坐的懶人心態,決定要來研究一下怎麼利用GAS跟Line Notify來達到只要有更新資料,就會發送Line通知給我的功能。
快速上手
名詞定義
夢開始的地方
反正先隨便創個試算表吧
接著在Google Sheet的活頁簿中,選擇Apps Script
在這邊,就會看到一個類似javascript的東西,但是是.gs結尾的,接下來會給幾段Code,讓你感受一下gs這個東西是怎麼運作的
打印出目前操作的SpreadSheet名稱
1
2
3
4
5
6
7
8
9
10
11
| function myFunction() {
// 獲取當前活動的電子表格
var spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
// 獲取當前活動的電子表格名稱
var spreadSheetName = spreadSheet.getName();
// 輸出電子表格的名稱
console.log(spreadSheetName);
}
|
打印出底下分頁的名稱
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| function myFunction() {
// 獲取當前活動的電子表格
var spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
// 獲取當前活動的工作表
var sheet = spreadSheet.getActiveSheet();
// 獲取所有工作表
var sheets = spreadSheet.getSheets();
// 輸出所有工作表的名稱
for (var i = 0; i < sheets.length; i++) {
console.log(sheets[i].getName());
}
}
|
把Sheet的A1欄位改成Hello World
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| function myFunction() {
// 獲取當前活動的電子表格
var spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
// 獲取當前活動的電子表格名稱
var spreadSheetName = spreadSheet.getName();
// 輸出電子表格的名稱
console.log(spreadSheetName);
// 獲取當前活動的工作表
var sheet = spreadSheet.getSheetByName("我是第一個Sheet");
// 在 A1 單元格中設置值為 "Hello World"
sheet.getRange("A1").setValue("Hello World");
}
|
設置自動執行的排程器
選擇Trigger
按照下圖的順序去執行
這樣就可以了,接下來我們寫一段Code,把A1欄位的值改成當前時間
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| function myFunction() {
// 獲取當前活動的電子表格
var spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
// 獲取當前活動的工作表
var sheet = spreadSheet.getSheetByName("我是第一個Sheet");
// 獲取當前日期
var now = new Date();
// 定義日期格式
var formattedDate = Utilities.formatDate(now, Session.getScriptTimeZone(), "yyyy MM dd HH:mm:ss");
// 在 A1 單元格中設置格式化後的日期
sheet.getRange("A1").setValue(formattedDate);
}
|
結合Line Notify 每分鐘跟我說現在幾時幾分
首先到
https://notify-bot.line.me/zh_TW/
網站申請一個個人Token
然後會給你一個Token,複製下來
把以下的Code貼到你的程式中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| function myFunction() {
// 發送消息
sendLineNotify(new Date())
}
function sendLineNotify(message){
var token ="abcdefghijklmnopqrstuvwxyz"
var options =
{
"method" : "post",
"payload" : {"message" : message},
"headers" : {"Authorization" : "Bearer " + token}
};
UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
}
|
接著按執行,就會發通知給你囉^_^ 有沒有很簡單呀