Google Spreadsheetのデータを簡単に取って来れるjQueryプラグインを作りました。
以前にも同じ事をやってた方がいらっしゃったようなのですが、SQLがたたけなかったりと、欲しいものと違っていたので、1から作成しました。
このプラグインを使うと、Googleのjsapiとgoogle.load("visualization", "1"); の記述が省略できます。
※ 基礎的な使い方はWebOS Goodiesさんのエントリーにとてもわかりやすく掲載されています。
使い方は以下のような感じ
$.ss("http://spreadsheets.google.com/tq?key=0ArNMycobpXr3ckJybUNHVDZ0cEU0SjZvb0prVDhGS2c")
.setQuery("select * where B like 'test%'")
// クエリは省略可能です。省略すると全件取ってきます。
.setField("time,title,address,foo,bar,buz,hoge")
// ここで設定した値がレコードオブジェクトの変数名になります。
// 省略すると、配列番号として格納されます。
.send(function(success){
// おなじみeach関数でレコードをループできます。
this.each(function(i){
console.log( i, this.title );
});
})
デモはこちら jspreadsheet.test.html
ソースコードはこちら jspreadsheet.js
CPANのモジュールの、SQL::Abstractは、Perlのデータ構造からSQL文を生成する
という
素晴らしいライブラリなのですが、同じようなものがJavaScriptで必要になって、
探してもなかったので、自分で作りました。
var sql = new AbstractSQL("test");
sql.createTable([
new AbstractSQL.Field("id",AbstractSQL.FieldType.INTEGER,10,true),
new AbstractSQL.Field("name",AbstractSQL.FieldType.TEXT,255,false)
]);
// CREATE TABLE test (id INTEGER(10) PRIMARY KEY, name TEXT(255));
ソースコードはこちらにあります。
http://sqljs.googlecode.com/svn/trunk/src/AbstractSQL.js
これから派生して、O/Rマッパーを作っていきたいと思っています。
@nakajimanさんに教えてもらった、ActiveJS::ActiveRecordでサポートしている、
InMemory, JaxerMySQL/SQLite, AdobeAIR, Gearsで汎用的に使えるものにしたいので、
知見のあるかたは是非プロジェクトにご協力ください。
金曜日、MTLのCafeで行われた、JUI 2009 Returnsで発表したプラグインについてです。
かなりパツっていて、詳細を話せなかったので、こちらで補足します。
(思いつき次第追記します。)
ソースは以下でホスティングしてもらってます。
http://code.google.com/p/jqcrossdomain/
以下がスライドです。
こちら、裏側がSWFになっているので、SWFObject2.Xが必要です。
->今後、Detection機能を実装したいと思っています。
もちろんjQueryも必要です。現段階では、1.3で検証をおこなっています。
スライド#9のとおり、jQueryのAJAXメソッドは全て使えるようにしようと思っています。
http://docs.jquery.com/Ajax
今のところ、追加機能として、ajaxSettingsでcrossdomain.xmlの場所が指定できます。
このライブラリを使って、ActionScript3.0のURLLoaderクラスメソッドを全て使えるようにもしたいと思っています。
ドキュメント筆者(言語問わず)や共同開発者絶賛募集中です。
Demoはこちら
じゃらんウェブサービス
Kuler
当日の様子はこちら
The JUI 2009 Returns カンファレンスを開催しました! : Media Technology Labs (MTL) : メディアテクノロジーラボ ブログ




