spreadsheetとつながってるってやばいじゃんこれspreadsheetをバックエンドdbにしていろいろできるってことでしょ使い方次第では、結構強力な物になりそうな気がする。
ku's post on twitter
ちなみに
F's Garage:iPhone SDKを読み解くのに必須! Google AJAX Language APIを使ったブックマークWidget作った。多分以下の様にすれば行けるはず。(jsapiのクエリパラメータ「callback」と、loadの第三引数「callback」)
Google AJAX Language APIは、document.writeで翻訳機能読み込みのscript要素コードを出力するようにできており、ブックマークレットには必須の遅延ロードができないようなので、なんだかいろいろ苦労しちゃいました。
wikiも確かに管理しやすいかもしれないけど、Google SpreadSheetも可能性があると思う。
ちなみに今回作ったSITEINFOは簡単な物なので、「ネタフル」と「IDEA * IDEA」くらいしかない。
あと、クエリのfrom区には「sheet1」とか使えるのが分かった。
以下、Google SpreadSheetからSITEINFOを読み込むサンプル
var siteinfo = [];
function handleQueryResponse(response) {
var data = response.getDataTable();
if (!data || response.isError()) {
alert(response.getMessage() + ':' + response.getDetailedMessage());
return;
}
for (var row = 0; row < data.getNumberOfRows(); row++) {
siteinfo.push({
'name' : data.getFormattedValue(row, 0),
'link' : data.getFormattedValue(row, 1),
'url' : data.getFormattedValue(row, 2),
'xpath' : data.getFormattedValue(row, 3),
'base' : data.getFormattedValue(row, 4)
});
}
var html = '';
for (var n = 0; n < siteinfo.length; n++) {
html += '<b><a href="' + siteinfo[n].link + '">' + siteinfo[n].name + '</a></b><br />'
html += '<blockquote' + '><' + 'pre>';
html += '<b>url</b>:' + siteinfo[n].url + '<br />';
html += '<b>xpath</b>:' + siteinfo[n].xpath + '<br />';
html += '<b>base</b>:' + siteinfo[n].base + '<br />';
html += '<' + '/pre></' + 'blockquote>';
}
document.getElementById('ExampleSITEINFO').innerHTML = html;
}
function querySITEINFO() {
var query = new google.visualization.Query(
"http://spreadsheets.google.com/tq?key=psdg8ZffuCtcsEuIuzzd1Mw&pub=1");
query.setQuery("select A, B, C, D, E from sheet1 order by A desc");
query.send(handleQueryResponse);
}
function jsapi_loaded() {
google.load("visualization", "1", {"callback" : querySITEINFO});
}
function loadExampleSITEINFO() {
var s = document.createElement('script');
s.charset = 'utf-8';
s.src = 'http://www.google.com/jsapi?callback=jsapi_loaded';
document.body.appendChild(s);
}
とその実行結果。IE6、Firefox、Safari3、Opera9.50bで動作確認。