Google Visualization API に挑戦
4月 10, 2008
先月半ばかそこらにリリースされたGoogle Visualization API。
スプレッドシート上のデータをグラフやGoogleMapsなどと融合させて新しいコンテンツにすることができます。
しかし、僕が注目したのはスプレッドシートに対してクエリを投げてデータを取得することができること。
正直にいうと興奮しました。これはすごいと。
早速サンプルを制作。下記サイトを参考にしました。
Google Visualization APIを早速使ってみた
Google Spreadsheets を簡易 SQL DB に!
手順としては、
- DBとなるスプレッドシートを公開設定にする。サンプルデータはこれ。
- Google APIをインポート。google.load(”visualization”,”1″) でAPIを読み込み。
- データソースURL(この呼び方は正しいのかな?)を挿入。ここポイント。
上記の記述が間違っていたために、僕は何度もGoogleに蹴られました。
ZDNetBuilderを参考にすると、確実に失敗します。重要な記述が足りないのです。
WebOS Goodiesのサイトを読んで間違いに気付きました。本当に助かりました。
肝心のポイントは、
pub?key=~ -> tq?key=~ に変更し、
pub=1 をどこかに入れる。これは、公開取得するって意味だそうです。これがないとエラーで蹴られます。
gid={シートNo} これで別のシートを読み込めます。
http://spreadsheets.google.com/tq?key=pMKJQa8xVn_HWXalaI-gVSQ&gid=0&pub=1
上記リンクでJSONが表示されれば成功です。
3.あとは頑張ればなんとかなる!
クエリを送信し、レスポンスを受け取ったら、それをループやら何やらで回して、データをHTML化。
これで無事表示されるはず。
ドキュメントを読むと、取得系のクエリはほとんどいけますね。
ただし、公開スプレッドシートの特性上、直接URLを叩けば全データが覗かれてしまいます。
なので使える用途といったら、全てが公開されても問題ないものに限られると思います。
例えば既に電話帳に載っている店舗情報や、知られても問題ない商品簿など。
今まではバックエンドのCGIやPHPが必要な処理が、サーバーサイド技術なしで使えるというのは、非常に使い勝手が良いです。
しかもデータ管理が一般サラリーマンに馴染みの深いエクセルなのでなおさら。
うまく動きはしましたが、このサンプルプログラムだと表示にロスがあります。
なので次回はこの改善に挑みます。
Leave a Reply