跳到主要內容

發表文章

目前顯示的是 一月, 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 = UrlFetchApp.fetch(v, {method:"GET"});     var ts2 = new Date().getTim…

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通知有人提交表單的話,可以在這邊增加)

7. Server Side: 這邊用No…