HepCat Dev and Testさん経由。
Google CalenderのWeb APIが公開(何故だか重めです)されたそうです。
Google Data APIs Protocol(GData)というGoogleでの汎用的なAPIが定義されていて、そこから派生されているんだそうです。
プロトコル自体はThe Atom Publishing Protocol+OpenSearchになっていると。ふむふむ。興味深いですね。やっぱり今日びiCalでもないしって思ったんでしょうね。
少しサンプルを眺めてみましたが、シンプルでいいですね。あまりあれこれいじるのではなく、フィードをベースにしてCalenderなどで必要な属性を拡張した、という感じで幅広く受け入れられるんじゃないでしょうか。
「Motivation: Why GData?」という項には
Google’s mission is to organize the world’s information and make it universally accessible and useful. … GData provides a way to expand the types of content that Google can make available through syndication;
ともあって汎用性を狙っていることが伺えます。ひょっとするとこれが今後デファクトになっていくかも知れませんね。
MSも似たようなことを考えているようなので、ここでも開発者取り込みの競争が始まるかも。
認証機能の項も読んでみましたが、意外にもパスワードはハッシュとかでなく、生のまま受け渡すことになっています。SSLを前提にするので漏洩は無いし、だったらハッシュは無駄だろ、という割り切りでしょうか。一理あるとは思うんだけど、どうしてハッシュじゃなかったのか、設計者の見解に興味があります。
また、serviceパラメータでログインするサービスを特定することになっており(Calenderは’cl’、Genericは’xapi’)、Google Account Authenticationでは
Account Authentication Proxy for Web Applications (expected release in late April)
とあります。
Googleのサービスを使っていると感じるんですが、Googleでは意外にいろんなサービスでIDが統一されていません。同じIDでも使えないサービスがあったりして。
最近はましになってきているかも?とは思うんですが、これはひょっとするとサービスごとに認証機能も立ち上げてしまって収拾つかなくなってしまったパターンだったのかも。Account Authentication Proxyとはそれらを解決するための集約サービスなのかな、と勘ぐってみたり。
だとすると内部的にデータベースを統合するのではなくて力技(経済力とも言う(^^;)で何とかする方法だと思うので、それはそれで出来てしまうのが羨ましかったりします。
その他CAPTCHAが指定できることにもなっていて、これも面白いですね。ただ、APIとどのように絡めて使わせるのかぴんと来ていませんが(ユーザーにCAPTCHA文字列を入力させないといけないということだと思うけど、つまりCAPTCHA画面をユーザーに見せる必要があるということ?)。
個人的に嬉しいのがC#用のライブラリが既に用意されていることです(他にJavaもあり)。
サンプルを覗いてみましたが、かなり直感的で楽チンそうです。
何より謹製ライブラリでコードが書けるのはGoodですね。
特にAtomなどのフィードを独自のプレフィックス(モジュール)で拡張しているということは今後も仕様追加が頻繁に行われることも予想される訳で、その際にライブラリを提供してくれるなら、サードパーティ製と違って素早い対応が期待でき、安心できます。
実はこれまでGoogle Calenderって使ってこなかった(Operaじゃ動かないので・・)んですが、妄想するに、例えばPCのOutlookのカレンダーとGoogle Calenderを同期させてかつ個人PDAのPocket OutlookとGoogle Calenderを同期できたら、わざわざ会社にPDAを持っていかなくても勝手に会社関係のカレンダーも取り込めてしまうじゃないですか。これは便利!
複数のカレンダーも扱えそうなので、チーム全員のOutlookのスケジュールをGoogle Calender経由でPDAに全部集めて(Active Sync経由ではこれは無理)、びしばし管理を始めてしまったり(^^;
妄想がひろがりんぐです。
いずれにせよ、このAPIがあれば結構気軽に出来てしまいそうですね。楽しげです。
週末にでも遊んでみようかな。
# GDataで思ったんですが、これがGMailにも拡張されるとかなり面白いことになりそうです。でもそうすると、まさしくネットワークドライブ代わりにばんばん使われ出すだろうし。(それがしたいんですけどね)
さすがにそれは避けようとしているかな。