跳到主要內容

發表文章

目前顯示的是 1月, 2013的文章

Google Apps Script - HTTP Monitor

這邊是一個利用Google的SpreadSheet(試算表)服務,加上Apps Script(指令碼)服務,來做HTTP URL的監控,並且記錄每次Request的回應時間值,應用層面,可以作為監控或是網路回應時間的統計(當然,這邊是以Google的網路來做Request,比較不客觀一點,僅供參考拉 :D),未來可以搭配Mail Service使用或是再發揮更多想像力吧∼ (PS: 不要拿來攻擊阿@@) Step1: 開立一個Google Spreadsheet 為了美觀,這邊先輸入title,如下: Step2: 建立Sheet Apps Script,選擇視窗中,可以看到Spreadsheet項目,選這個就對了∼ 在上面的視窗中,可以看到網址列有個sheet id,先記錄下這個,之後會用到... Step3: 撰寫指令碼... 清掉預先產生的內容(因為用不到),貼上下面的code,並改寫sites裡面的內容成為你要監控的HTTP URL,最後儲存起來... /**  * 透過UrlFetch的服務來進行網站Response Time的監控  */ function emitRequestAndRecord() {   var sites = [ //定義要監控的HTTP點     " http://www.google.com ",     " http://micloud.tw "   ];       var sheet = SpreadsheetApp.openById(' 0Aq-z....RVkE ').getActiveSheet(); //id即為開啟sheet時候,網址列的key參數值   var rows = sheet.getDataRange();   var numRows = rows.getNumRows();   var values = rows.getValues();   sites.forEach(function(v,i){     var ts = new Date().getTime();     var response = UrlFetchAp

Advance Google Form - 使用Google Form搭配Web Server做即時資料處理

Google Form提供了一個強大的線上編輯功能 並且結合Google Sheet可以做到分析與後製圖表等動作 而不斷"長大"的Google推出Apps Script之後 許多的應用不斷的在衍生... 這邊介紹如何透過Apps Script結合Form的服務,並直接後送後端的HTTP伺服器做即時的後續處理動作(這邊不規範後續處理,範圍太大了@@)... 1. 建置屬於你的Form表單 2. 完成Form建置後,可以發現從Drive點選Form會以Sheet的方式打開,此時點選插入,選擇"指令碼" 3. 選擇指令碼後,Google會開立一個Apps Script的編輯畫面,此時可以幫你的Script命名... 4. 這邊我們直接採用readRows(),可以直接把下面這段code加到for loop下面   Logger.log('Call url...');   var response = UrlFetchApp.fetch(" http://hello.my.micloud.tw:1337/test ", {     method:"POST",     payload:{       row_a:row[0],row_b:row[1],row_c:row[2]     }   });   Browser.msgBox(response.getContentText()); 上面程式中,主要是針對 http://hello.my.micloud.tw:1337/test 做POST的動作 因此在UrlFetchApp.fetch的第二個參數中加入option參數,告知要用POST method以及表單的內容(payload欄位) 最後透過getContentText()來trigger整個http request的動作 5. 然後,接下來要把function attach到form的event裡面,點選工具列的啟動程序(小時中按鈕) 6. 啟動程序視窗中增加readRows()的執行,活動選擇"來自試算表",最後的動作選擇"提交表單時" (通知的部份,如果有需要寄mail