iT邦幫忙

10

使用 Google Docs 打造 Wep App Engine


圖片來源:Getting started with Google Apps Script part 1
一切想法的起源來自這篇文章 如何使用Google Docs監控你的網站狀態?
原文是 Monitor your Website’s Uptime with Google Docs
概念為 Google Apps Script & 定時觸發 的搭配應用
在這我試著將這概念實作成 Wep App Engine
首先介紹 Google Apps Script,
Google docs 開起 [試算表] -> [工具] -> [指令碼管理員],
就可以開始撰寫程式碼了,
它的語法是 JavaScript,有基礎的話不難上手!
這裡拿官方的範例介紹

function example() {
	var ss = SpreadsheetApp.getActiveSpreadsheet();
	var sheet = ss.getSheets()[0];
	var myValue = Browser.inputBox("Enter a number"); 
	sheet.getRange("A1").setValue("Number entered:");
	var b1Range = sheet.getRange("B1");
	b1Range.setValue(myValue);
	var valueToShow = b1Range.getValue() + 1;
	Browser.msgBox("The value you entered plus one is: " + valueToShow);
}

執行的結果如下:
1.跳出 InputBox 讓你輸入值

2.將值存到 B2 儲存格,並將該值 +1 後用 MsgBox 顯示出來

當然還有更多實用的功能,
有興趣的話可以到 這裡 挖寶!

再來是 定時觸發 的部份,
可以在 [指令碼管理員] -> [資源] -> [現有指令碼的觸發程序] 做設定,
最短可以每分鐘執行一次,最長可以設成每週,
甚至能直接指定某個特定的時間。

這裡要提醒一點,下某些情況下如果設定得太頻繁 (每分鐘),
Google 就會寄信和你說:Service using too much computer time for one day
遇到這樣就只能等到明天它才會繼續執行了!

有這兩個概念後就能開始實作了!
下面這張圖是我的構想!

1.在 SpreadSheet 裡透過 UrlFetchApp 函數抓取網頁原始碼,並分析出所需的資料!
2.將分析後的資料存進 FusionTables ,並將瀏覽權限設為公開,以便 Web App 使用!
3.在 Web App 中,利用 Visualization 就能隨時取得在 FusionTables 中的資料!
※第一點記得設定 [定時觸發] ,讓它能持續去取得 / 更新資料。

最後附上以上三點的參考資料,有興趣的可以再深入研究!

1.Google Apps Script - UrlFetchApp
2.Google Fusion Tables API - Writing a Google Fusion Tables SQL API application
3.Google Fusion Tables API - Example: Google Chart Tools


尚未有邦友留言

立即登入留言