本の場所検索システムを作っていて家のサーバにColdFusion と SQL Serverまでデプロイして作ったが、そんな必要はなかった。
家にサーバが無くても、その代わりにグーグルスプレッドシートを使えばいい。
イフトからA1に本のタイトルが入る。スペースをとるために
B1=SUBSTITUTE(SUBSTITUTE(A1," ","")," ","")
とおく。
G列に本のタイトル、H列に場所を書き入れる。
C1=match(B1,G1:G32,0)
とおいて何行目かを検索する。
D1=indirect("R"&C1&"C8", false)
とおいて本の場所を書き入れる。
E1=B1&"は"&D1&"にあります"
とおいてGHNに言わせる文を作る。
F1にはそれをURLエンコードした文字をスクリプトで記入して、GHNにURLを送る。
Google spleadsheetのスクリプト(拡張されたjavascript):
これだけで、サーバは要らなかった。
どんなにロバストなシステムでも、なくてもすむよりはプニーだ。
家にサーバが無くても、その代わりにグーグルスプレッドシートを使えばいい。
イフトからA1に本のタイトルが入る。スペースをとるために
B1=SUBSTITUTE(SUBSTITUTE(A1," ","")," ","")
とおく。
G列に本のタイトル、H列に場所を書き入れる。
C1=match(B1,G1:G32,0)
とおいて何行目かを検索する。
D1=indirect("R"&C1&"C8", false)
とおいて本の場所を書き入れる。
E1=B1&"は"&D1&"にあります"
とおいてGHNに言わせる文を作る。
F1にはそれをURLエンコードした文字をスクリプトで記入して、GHNにURLを送る。
Google spleadsheetのスクリプト(拡張されたjavascript):
function doPost(e) {
var value = e.postData.getDataAsString(); //TextFieldの中身
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getActiveSheet();
sheet.getRange("A1").setValue(value);
value2 = sheet.getRange("E1").getValue();
var value3 = ecl.EscapeSJIS(value2);
sheet.getRange("F1").setValue(value3);
var url = "http://183.77.***.**:50***/?ja="+value2; // アクセス先
UrlFetchApp.fetch(url); // GETリクエスト 元は var response = UrlFetchApp.fetch(url);
}
これだけで、サーバは要らなかった。
どんなにロバストなシステムでも、なくてもすむよりはプニーだ。