10日に開催されたGoogle Developer Day 2008において、Googleのソフトウェアエンジニア半谷 明氏が「Google Data API」の概要と現状、今後の展開について語った。
10日に開催されたGoogle Developer Day 2008において、Googleのソフトウェアエンジニア半谷 明氏が「Google Data API」の概要と現状、今後の展開について語った。
Google Data API(以下、GData)とは、Googleがウェブ上で提供しているさまざまなデータに、ブラウザの変わりにプログラムでアクセスできるサービス。AtomのAPP(Atom Publishing Protocol)をベースにした、新しいプロトコルを提供している。POST、GET、PUT、DELETEのHTTPリクエストによってデータに対してCRUDすることができ、それに対してXML形式でデータが返ってくる。
Google Data APIが使えるサービス
GDataは、Google CalenderやYouTube、先日公開されたばかりのGoogle Healthなどさまざまなデータに対応している。また、クライアントアプリケーション作成時にXMLのパースを容易にするために、現在、6言語のライブラリが提供されている。
対応しているサービスは次のとおり。
Google Apps
ウェブメール、チャット、カレンダーなどの機能を独自ドメインで利用できるサービス。ユーザーグループの作成や同期をGData経由で行える。
Google Base
ユーザーがどんな種類のコンテンツでも無料で投稿できるほか、それらの情報を他者が簡単に見つけ出せるようにするサービス。就職、賃貸、履歴書、車などさまざまな情報が格納されている。既に、ホンダやAppleがGoogle Baseを利用してデータベースを作成しているという。GDataを使用して、データ検索、アプリケーションやマッシュアップの作成、アイテムのプログラムによる入力および管理が可能。
Google Blogger
Googleが提供するブログサービス。クライアントアプリケーションでGDataを使用して、新しいブログ記事の投稿、投稿済みの記事の編集や削除、特定の条件に一致する記事の検索を行うことができる。
Google Calendar
Web上に自分のカレンダーを作ることができるおなじみのサービス。GDataを利用して、イベントの作成や携帯端末への同期などができる。
Google Code Search
Web上で公開されているソースコードを検索するサービスで、正規表現も利用できる。これらの検索もGData経由で行える。
Google Contacts
Gmailなどで使う「連絡先」。APIを使って携帯端末との同期を行うことも可能。
Google Health
Web上で医療情報を管理できるサービス。処方箋や検査結果の記録などを自動的にインポートし、Google Healthを通じてアクセスできる。
Google Notebook
オンラインのメモ/Webクリッピングサービス。公開されているノートブックのリスト取得などにGDataを利用できる。
Google Spreadsheets
Web上の表計算ソフト。Spreadsheetsの内容の閲覧や、UploadをGData経由で行うことができる。
Google Document
文書、スプレッドシート、プレゼンテーションをオンラインで作成できるサービス。MicrosoftのOfficeデータを取り込むこともできる。クライアントアプリケーションからGoogle Documentsにドキュメントをアップロードしたり、ドキュメントの一覧をGData形式のフィードで取得したりすることが可能。
Picasa Web Albums
オンライン上の写真管理サービス。GDataを使って、自分のアルバム、写真、コメント、タグにアクセスできる。
YouTube
言わずとしれた、動画共有サービス。GDataを使って、YouTube動画リポジトリとユーザー コミュニティにアクセスできる。
Atomにはない、クエリーへの対応
GDataでは、クエリーにも対応しているため、データのフィルタリングや検索ができる。
例えば、YouTubeの場合はvq
というパラメータにキーワードを送るだけで検索結果を取得できる。googleというキーワードに当てはまる動画の検索結果を取得する場合は次のようになる。
また、クエリーを使うことで必要なデータだけ(またはデータの一部だけ)を取得して、レスポンスを向上させることも可能となっている。
認証機能の仕組み
AtomやRSSといった他フィードとの1番の違いは、Authentification(認証)機能を備えている点、つまりログインできる点にある。これにより、自分の属するドメインだけに公開するといったことが可能になる。オープンな情報へのアクセス時には必要ないが、セキュアで保護された個人情報(カレンダーのイベントや、Picasa内のプライベートな画像など)を取得するときにこの認証機能が必要となる。
認証には、各サービス特有のトークンを利用している。AuthSubにより、パスワードなしの認証機能(Cookieを使う)を使用することもできる。
トークンによる認証の流れは次のとおり。
- Google Account Serverにログイン
- トークンが返ってくる
- トークンを使ってGoogle Servicesにリクエスト
- Google ServicesがトークンをAcount Severに確認
- Account ServerからServicesに承認を渡す
- Servisesがデータをユーザーに送信
すべてのサービスをプログラミングサポート
この様に、いつの間にか多くのサービスに対応していたGData。Google Developer Day 2008に合わせて、YouTubeとOpenSocialのAPIドキュメントが日本語化されたことにより、日本でもより多くの開発者によって利用されていくことが予想される。
また、今後のサポート予定に関する質問に対して「今の段階ではどの製品かは言えませんが、すべてのサービスをプログラミングサポートするロードマップはあります」と半谷氏は答えた。今後のさらなるサービス拡張が期待される。
この記事は参考になりましたか?
- この記事の著者
-