2008/03/09
RubyでGoogle Data APIs
Googleが提供するさまざまなサービスには、Google Data APIsを利用して、データの取得や更新を行うことができます。
現在、以下のサービスへのAPIが提供されています。
- Google Apps APIs
- Google Base data API
- Blogger data API
- Google Calendar data API
- Google Code Search data API
- Google Notebook data API
- Google Spreadsheets data API
- Picasa Web Albums data API
- Google Documents List data API
- YouTube data API
JavaScriptからSpreadsheetsを操作できないかと調べてみたのですが、JavaScript client libraryは、現在、Google Calendar と Bloggerのみのようです。
そこで、Rubyのライブラリを探してみると、gdata-rubyというライブラリがありました。
ただ、このライブラリは現在開発がストップしているらしく、SpreadsheetとBloggerのみに対応しているようです。
というわけで、せっかくなのでRubyでGoogle Spreadsheets data APIを試してみました。
ruby-gdataのインストール
gem install GData
書き込みテスト
#!/usr/bin/env ruby
require 'gdata/spreadsheet'
gdata_user = 'xxx@gmail.com'
gdata_pass = 'xxx'
gs_key = 'xxx'
gs = GData::Spreadsheet.new(gs_key)
gs.authenticate(gdata_user, gdata_pass)
gs.add_to_cell 'sin(0.2)'
残念ながら、使用感はいまいちでした。他によいライブラリはないのでしょうか・・・?
2008/02/29
Google Chart API を使ってみる
しばらく前に、Google Chart API が公開されたのですが、後れ馳せながら使ってみました。
Google Chart APIは、Google Static Maps APIと同じようにグラフを画像(PNGフォーマット)で返してくれるAPIです。(Google Chart APIが先ですが・・)
http://chart.apis.google.com/chart?cht=p3&chd=s:hW&chs=400x200&chl=Hello|World
Google Chart API のURLは、次の形式になっていて、parameters部分は以下のようになっています。※グラフの種類によって違ってきます。
http://chart.apis.google.com/chart?parameters
- chs
- グラフのサイズ
- e.g. 400x250
- ※最大値は1000x1000
- chd
- グラフのデータ
- e.g. s:helloWorld
- ※データをエンコードした文字列を設定します
- cht
- グラフの種類
- e.g. lc
- chxt
- 軸ラベルの表示
- e.g. x,y
- chxl
- 軸ラベル
- e.g. 0:|Mar|Apr|May|June|July|1:||50+Kb
上記の例だと、このようなグラフになります。
http://chart.apis.google.com/chart?chs=400x250&chd=s:helloWorld&cht=lc&chxt=x,y&chxl=0:|Mar|Apr|May|June|July|1:||50+Kb
表示できるグラフの種類は、円・棒・折れ線グラフはもちろん、面グラフや散布図といったものまで表示でき、大概のグラフは表示できそうです。
これまでグラフを貼り付けるのに、Excelで作成したものを貼り付けたり、Flashでやっていたものが、簡単に貼り付けられるようになったのは素晴らしいと思います。ただ、今のところ(2008/02/29現在)、ラベルに日本語はうまく表示できないようなのがちょっと残念。
なお、利用にあたっては、ユーザあたり50,000リクエスト/日(query limit of 50,000 queries per user per day)という制限があります。
2008/02/28
Google Static Maps APIを使ってみる
先日、より簡単にGoogleマップを表示できるようになる、Google Static Maps APIが公開されました。
特定の地図をimageデータ(GIFフォーマット)として返してくれるようで、いろいろと使い道があるのではないでしょうか。(特にモバイル)
というわけで、さっそく使ってみました。
携帯で表示(240x270)
http://www.r-stone.net/blogs/ishikawa/google_static_maps_api_mobile.html
使い方は非常に簡単で、Static Map Wizardで手軽に作成できます。
Google Static Maps API のURLは、次の形式になっていて、parameters部分は以下のようになっています。
http://maps.google.com/staticmap?parameters
- center(必須)
- マップの中央の座標
- e.g. 40.714728,-73.998672
- zoom(必須)
- ズームレベル
- e.g. 17
- size(必須)
- 画像のサイズ
- e.g. 500x400
- ※最大値は512x512
- maptype(オプション)
- roadmap(デフォルト):通常のマップ
- mobile:表示文字等が簡略化されたモバイル用
- markers(オプション)
- マーカーの位置,色,文字
- ※"|"で区切ることで複数マーカーが可能
- {latitude},{longitude},{color}{alpha-character}
- e.g. 40.702147,-74.015794,blues|40.711614,-74.012318,greeng
- key(必須)
- APIキー
- Google Maps APIと同じ
なお、利用にあたって、1ユーザ(1IPアドレス)当たり、表示は1日1,000種類の画像までという制限(※原文によると「1000 unique (different) image requests per viewer per day」)があるので要注意です。
