Google APIs まとめ
Google Developer Dayもいよいよ明日ですね。本日はその予習として、 Google Code で公開されている API やその他のリソースの総まとめを書いてみました。本当は先週中に公開したかったのですが、どうしても時間が取れず前日になってしまいました・・・ orz
単なる Google Code のコピーを書いても仕方ないので、関連する Google サービスごとにカテゴライズしています。これなら、マッシュアップしようと思っているサービスでどんな機能が使えるのかがすぐにわかるかと思います。ぜひ参考にしていただければと思います。
基本 API
- Google Account Authentication
- プライベートな GData フィードへのアクセスなどに利用する認証 API 。デスクトップアプリケーション向けの ClientLogin API と Web アプリケーション向けの AuthSub API がある。
- Google Data APIs
- GData の基本的なプロトコル、認証システム、データフォーマット、各種言語用ライブラリなど。
- Google AJAX APIs
- Google AJAX 系 API の基礎となるライブラリ。基本的に各 API の読み込み方法を規定しているだけ。
Google 検索
- Google AJAX Search API
- Google 検索を自サイトに組み込むための JavaScript ライブラリ。 Web 検索のほか、ニュース、ブログ、書籍、地図、静止画、動画が検索できる。 JavaScript 以外の環境から利用するための RESTful API も公開されている。
- Custom Search API
- 検索範囲を特定したカスタム Google 検索が作成できる。検索範囲はページ単位で指定でき、ワイルドカード指定も可能。サイト内検索に利用できるほか、作成した検索エンジンをディレクトリで公開もできる。当サイトの解説記事もご覧ください。
- Google Search History Feeds
- 自分の検索履歴がフィードとして取得できる。
- Subscribed Links
- Google 検索で特定のキーワードが検索されたときに、あらかじめ指定した情報や Google ガジェットを表示することで Google 検索を拡張できる。 Google ガジェットの表示に関しては当サイトの解説記事もご覧ください。
- Google Sitemaps
- Google にコンテンツの場所を的確に把握させて、インデクシングを促進するためのプロトコル・ファイル形式。もともと Google が考案したものだが、現在は Yahoo! や Microsoft も採用している。
iGoogle
- Google Gadgets API
- iGoogle をはじめとして多数の場所で利用できるガジェットを作成するための API 。作成したガジェットはディレクトリに登録して公開することも可能。当サイトの解説記事もご覧ください。
- iGoogle Gadgets
- 今夏にも公開される予定の OpenSocial 対応 iGoogle 用ガジェットを開発するための API 。旧 Google Gadgets API との関係が今後どうなっていくのかは不明だが、 iGoogle の OpenSocial 機能を活用するガジェットはこちらの API で、他の Google サービスでも広く利用できるガジェットは旧 API で作成、ということになるのかもしれない。
- Google Themes API
- iGoogle 用のオリジナルテーマを作成する方法。ガジェットのタイトルバーで利用するボタン画像集なども提供されている。当サイトの解説記事もご覧ください。
- Google Analytics Gadget Tracking
- Google Analytics Custom Tracking に含まれる、 Google ガジェットの利用状況を追跡するための API 。ライブラリを読み込んで簡単なメソッド呼び出しを行うだけで、ガジェットのページビューやイベントのトラッキングができる。
- Google Gadget Editor
- Google ガジェットを開発するための統合環境を提供する Google ガジェット。色分け機能付きのテキストエディタでソースを入力すると、その場でガジェットのプレビューが行える。さらにソースを保存すると独自の URL が与えられ、そのままガジェットとして公開できる。
Google Maps
- Google Maps API
- 任意のサイトに Google Maps のインタラクティブな地図表示機能が利用できる。その気になれば、 Google Maps の機能を利用した独自の地図アプリケーションを構築することも可能。
- Google Maps API for Flash
- Google Maps API の Flash 版。 Flash アプリケーションに Google Maps を取り込むことが可能になり、Flash ならではの凝った視覚効果で地図が表示できる。
- Google Static Maps API
- IMG タグの SRC 属性に緯度・経度などを含む URL を指定するだけで、その場所の Google Maps を静止画として表示できる。マーカーやパスも表示できるので、案内用の地図にも便利。携帯などの JavaScript が動かないブラウザでも利用できる。
- Google Mapplets
- Google Maps 内で実行されるガジェットを作成できる。 Google ガジェットをベースにして、そこに Google Maps API の機能を取り込んだような構成になっている。作成した Mapplet はディレクトリに登録して公開することも可能。
- Google Earth API
- 専用のプラグインをインストールして、 Google Earth をブラウザ内で表示する API 。現在は Windows の Firefox, IE のみで利用可能。
- KML
- Google Maps や Google Earth にパスやポリゴンなどさまざまなコンテンツを追加するためのデータ形式。簡単なものなら Google Maps のマイマップ機能や Google Earth で対話的に作成できる。
- Google Coupon Feeds
- ユーザーが印刷して利用するクーポン券の情報を Google Local Search の検索結果などに表示できる。
- Google Transit Feed Specification
- Google Transit でルート検索できる公共交通機関の情報を提供する方法が解説されている。
Gmail
- Gmail ATOM Feeds
- Gmail の受信トレイや特定のラベルの内容を取得する Atom フィード。
- Gmail Greasemonkey API
- Firefox の Greasemonkey を使って Gmail を拡張できる。当サイトの解説記事もご覧ください。
- Google Contacts Data API
- Gmail のコンタクト情報(住所録)の取得や更新などが行える。グループの管理も可能。最近では他のサービスでもこのコンタクト情報が利用されているが、一応 Gmail が発祥ということで、ここに含めた。
Google Calendar
- Google Calendar APIs and Tools
- Google Calendar の予定の作成・管理のほか、カレンダーリストの取得、カレンダーの購読管理など、多くの機能が API 経由で利用できる。任意の Web ページへのカレンダーの埋め込みや、カレンダーに Google ガジェットを表示する機能、自分の作成したイベントを公開するためのボタンジェネレータも提供されている。
- Calendar Gadget
- Google Calendar に Google ガジェットを表示する Google Calendar API の機能。 JavaScript を利用したインタラクティブな拡張機能を Google Calendar に追加できる。
Google Docs
- Google Document List Data API
- Google Docs に保存されているドキュメントリストの取得、ドキュメントのアップロード、削除、検索などを行う。
- Google Spreadsheets Data API
- Google Spreadsheets のスプレッドシートリストの取得、各スプレッドシートの編集、削除、検索などを行う。とくに検索機能は協力で、 Google Spreadsheets を簡易データベースのように使うこともできる。
- Google Visualization API
- 簡易 SQL を利用して Google Spreadsheets のデータが取得できる。当サイトの解説記事(こちらとこちらとこちらもご覧ください。
- Visualization Gadgets
- Google Spreadsheets 内に配置する Google ガジェットを作成する。当サイトの解説記事もご覧ください。
YouTube
- YouTube Data API
- YouTube への動画のアップロード、検索、メタデータの編集、ユーザーデータの変更などができる。
- YouTube JavaScript Player API
- YouTube の埋め込み動画プレイヤーを JavaScript で制御できる。
- YouTube ActionScript 2.0 Player API
- YouTube の動画を Flash アプリケーション内で再生・制御できる。
- YouTube Chromeless Player
- 操作ボタンがない画面だけの YouTube 埋め込みプレイヤー。再生制御をすべて JavaScript / ActionScript で行いたい場合に使用する。
Picasa
- Picasa APIs
- Picasa のデスクトップクライアントに、他のアプリケーションや Web サービスに画像をエクスポートするカスタムボタンを追加できる。
- Picasa Web Albums Data API
- Picasa Web Albums のアルバム、画像、コメント、タグのリストの取得、画像やメタデータの編集、削除、検索などを行う。
フィード関連
- Google AJAX Feed API
- JavaScript のみで任意の公開フィードをフェッチできる API 。 JavaScript 以外の環境でも利用できる RESTful API も公開されている。
- Feedburner APIs
- Feedburner を経由しているフィードに関して統計情報の取得、フィードの作成・設定変更・削除などが行える。また、記事本体やフィードにさまざまな外部サービスと連携するリンクを設置する FeedFlare API も提供。
ソーシャル関連
- OpenSocial
- 多くの SNS が対応するソーシャルアプリケーション開発 API 。ひとつのコードで多数の SNS に対応できるのが最大の魅力。メインとなる Google ガジェットベースの JavaScript API に加えて、 RESTful API やコンテナのリファレンス実装「Shindig」も公開されている。
- Google Friend Connect
- 任意のサイトにソーシャルアプリケーションを追加できる期待の API 。ただし現在は限定ベータ版の段階。
- Social Graph API
- XFN や FOAF の仕様に基づいて定義されたパブリックなコネクション情報を取得する。サービスの枠を超えたソーシャルネットワークが構築できる。
デスクトップアプリケーション
- Google Desktop APIs
- Google Desktop の検索機能を拡張するための Google Desktop Search API と、デスクトップガジェットを作成するための Google Desktop Gadget API で構成される。 Open Source Google Desktop Gadgets には、この API で作成されたオープンソースのガジェットが多数公開されている。
- Google Toolbar API
- Google Toolbar で利用するカスタムボタンやガジェットを開発するための API 。作成したカスタムボタンはボタンギャラリーに登録して公開することもできる。
- Google SketchUp Ruby API
- Google SketchUp のマクロ作成や機能拡張などが可能。 Google では珍しく Ruby ベースです。まあ、単に買収前の名残でしょうけど(^^;
広告
- Google AdSense API
- ブログサービスの提供事業者などがユーザーに対して Google AdSense の利用を可能にする。ユーザーにパフォーマンスレポートを提供したり、サービス提供者とユーザーで収益を分配することなどが可能。
- Google AdWords API
- SOAP 形式の API で AdWords の各種サービスの作成・管理・レポートの取得などが可能。
- Google Analytics Custom Tracking
- Google Analytics の新しい埋め込みコードである ga.js が提供する API を利用すると、さまざまなユーザーアクション(イベント)の追跡や Google ガジェットの利用状況の追跡などが可能になる。
その他のサービス
- Blogger Data API
- Blogger に対して、記事の取得・投稿・編集・削除やコメントの取得・投稿・削除が行える。
- Google Apps APIs
- ユーザーアカウントなどの管理を行う Provisioning API 、アクティビティーやストレージ利用状況などのレポートを取得する Reporting API 、メールの移行を支援する Email Migration API 、任意のユーザー認証システムを Google Apps に組み込むための Single Sign-On Service 、メールの送受信をインターセプトするゲートウェイを実現する Email Gateway Interface などを提供。これらは Standard Edition では利用できないので、 Premier Edition にアップグレードする必要がある。
- Google AJAX Language API
- JavaScript のみでさまざまな言語間のテキスト翻訳が行える。 JavaScript 以外の言語からも利用できる RESTful API も提供されている。
- Google Base Data API
- Google Base のデータの検索・取得・新規作成・更新などが行える。
- Google Book Search API
- JSONP を使って Google Book Search の特定エントリの情報ページ、プレビューページ、サムネイル、プレビューが存在するかどうかなどの情報が取得できる。特定のページ(情報ページ、表紙、目次など)への静的リンクを作成する「Static Links」という機能もある。
- Google Chart API
- HTML の IMG タグで手軽にグラフを表示できる。 chartmaker なんていうツールも公開されている。
- Google Checkout API
- Google Checkout の決済機能を任意のショッピングサイトに統合する。
- Google Cord Search Data API
- 検索文字列とともに GET リクエストを投げるとコード検索の結果の GData フィードを返してくれる。 Google Code Search の機能を任意のサイトやデスクトップアプリケーションなどで利用できる。
- Google Health API
- 最近公開された Google Health のデータの取得・更新などが行える。
- Google News Feeds
- Google ニュースの各セクションや検索結果などの更新情報が取得できる RSS / Atom フィード。
- Google Notebook Data API
- Google Notebook の公開ノートブックに関して、特定のユーザーのノートブックリストや条件にマッチするノートを取得する。プライベートノートの取得や内容の変更などはできない。
- Google Talk XMPP
- Google Talk のボイスチャットやファイル共有といった機能と連携するための libjingle ライブラリ、 Google Talk が使っている XMPP の拡張に関するドキュメント、ブラウザ上で利用できる Google Talk Gadget などが提供されている。
開発環境・ SDK ・フレームワークなど
- Android SDK
- Google が提唱する携帯プラットフォーム「Android」で動作するアプリケーションを開発するための SDK 。開発に必要なライブラリ、ビルドツール、エミュレータ、 Eclipse プラグインなどがパッケージされています。
- Google AJAX Libraries API
- 代表的な JavaScript フレームワークを Google AJAX Libraries の枠組みで利用できるようにしたもの。
- Google App Engine
- Google のスケーラブルなバックエンドを利用して Web アプリケーションが開発できる Web アプリケーションホスティング環境。関連プロジェクトとして Google App Engine Django というものも公開されている。
- Google Cord Project Hosting
- オープンソースプロジェクト向けの無料 Subversion ホスティング。 Wiki や Issue Tracking などの機能もある。
- Google Cord Search
- Web 上に公開されているソースコードの検索サイト。通常のキーワード検索のほか、正規表現やプログラミング言語・パッケージ名・ライセンスなどによる絞り込みが可能。
- Google DocType
- Project Hosting の Wiki 機能を利用した、 HTML, CSS, JavaScript などのリファレンス。
- Google Gears
- ローカルデータベースをはじめとしたさまざまな機能をクライアントサイドの JavaScript から利用できるようにするブラウザエクステンション。当初は Web アプリケーションをオフライン動作させる機能を前面に押し出していたが、最近ではより広範囲に Web アプリケーションの可能性を広げる API に変貌しつつある。 GreaseMonkey スクリプトで Gears を利用するための Gears Monkey というエクステンションも開発されている。
- Google Mashup Editor
- XML をベースにした簡単なマークアップ言語を記述するだけで、各種フィードや Google Base, Google Maps などの各種 Google アプリケーションを組み合わせたマッシュアップを作成できるブラウザベースの統合開発環境。作成したマッシュアップは Google ガジェットとして利用することもできる。
- Google Safe Browsing APIs
- フィッシングサイトやマルウェア配布サイトなどのブラックリストが取得できる API 。
- Google Web Toolkit
- Web アプリケーション開発をクライアントサイドも含めて Java で行うことを可能にするフレームワーク。
クライアントサイドで使える API
Google が提供する API のなかには、 AJAX 系をはじめとしてサーバーの力を借りずにクライアントのみで利用できるものが多数あります。クライアントサイドでどんなことが可能なのかを把握するため、それらをリストアップしてみました。
- Blogger Data API
- Google AJAX Feed API
- Google AJAX Language API
- Google AJAX Search API
- Google Book Search API
- Google Calendar Data API
- Google Chart API
- Google Earth API
- Google Gadgets API
- Google Maps API
- Google Maps API for Flash
- Google Static Maps API
- Google Visualization API
- YouTube JavaScript Player API など
ウィジェット
API の中には簡単に利用できる JavaScript / Flash ウィジェットを提供しているものがあります。うまく活用すれば、ほとんど手間をかけずに高機能 Web サイトが構築できますね。
- Blog Bar Wizard
- Book Bar Wizard
- Custom Search Engine on the fly
- Custom Search Results Overlay (当サイトの記事)
- Dynamic Feed Control Wizard
- Google Talk chatback badge
- Google Talk Gadget
- Google カレンダー埋め込み支援ツール
- Map Search Wizard
- News Bar Wizard - Horizontal
- News Bar Wizard - Vertical
- Video Bar Wizard
- Video Search Wizard
オープンソースプロジェクト
API のほかにも、 Google Code には多数のオープンソースプロジェクトが掲載されています。 API に関連するものは既にいくつかご紹介しましたが、そのほかに面白そうなものをピックアップしてみました。皆さんのプロジェクトでも役立つものがあるかもしれませんよ。
- ExplorerCancas
- Google AJAXSLT
- Google Caja
- Google Code Prettify
- Google Collections Library
- Google CTemplate
- Google Diff Match Patch
- Google GFlags
- Google Guice
- Google JSTemplate
- Google Perftools
- Google SparseHash
- Google Toolbox for Mac
- Google URL
- libkml
- macfuse
- openhtmm
- PyreRing
- Tesseract OCR
- tmin
記事・チュートリアル
Google Code には Google APIs を活用するための解説記事も公開されています。これまた面白そうなものをピックアップしてみました。 API の使い方の入門記事のようなものは避けて、ある程度応用的なテクニックが解説されているものを選んだつもりです。ぜひチェックしてみてください。
- Coding in the Shade: Using Eclipse with Google Data APIs
- Using Ruby with the Google Data APIs
- Resizable Desktop Gadgets
- Gadget Best Practices
- GearsMonkey: Google Gears + Greasemonkey to take Wikipedia offline
- Offline Detection and Handling
- Using cURL to interact with Google data services
- Building an Extensive Maps Mashup
- Google Mashup Editor and Yahoo! Pipes: Friend, not Foe
- Simple XML Parsing
- Mashing It Up With Google Mashup Editor
- Generating Keys and Certificates for Google Apps Single Sign-On Service
- On the Wire: Network Capture Tools for API Developers
- Living Vicariously: Using Proxy Servers with the Google data API Client Libraries
- Using Google Base and Google Gears for a Performant, Offline Experience
- Converting a Maps API Mashup into a Mapplet
- Saving AJAX Search Results to a Server
- Creating a Simple Digitizer Using the Google Maps API
以上、本日は Google が公開している API をまとめてご紹介しました。いやー、たくさんありますね。とくに最近はクライアントサイドで使えるものが増えてきたのがありがたいところです。うまく活用して、効率よくマッシュアップを構築したいところです。
それでは皆さん、 Google Developer Day でお会いしましょう!(^^)/
詳しくはこちらの記事をどうぞ!
この記事にコメントする