Twitter APIとGAEでおもしろWebサービスを作ろう! (3/4)
2010年04月09日 11時00分更新
Twitter APIとは?
おおまかな流れが分かったところで、本連載で取り上げる2つのサービスについて少しおさらいしましょう。まずは「Twitter API」です。Twitter APIとは、Twitterの機能を外部のプログラムから利用するためのインターフェースです。Twitter APIを使えば、タイムラインの表示やつぶやきの投稿といったTwitterが提供する機能を、自分で開発したアプリケーションやWebサービスから利用できます。つまり、自分のプログラムからTwitterをアレコレできちゃうのです。
もちろん自分で作ったプログラムですから、Twitterの操作に加えて、独自の機能を追加したり、あるいは他で提供されているWebサービスのAPI(Google Maps APIなど)と組み合わせてマッシュアップサービスを作ったりもできます。
Twitter APIのユーザー認証
Twitter APIを利用するには、Twitterを利用するときと同じように「ユーザー認証」が必要になります。ユーザー認証にはいくつか方法がありますが、本連載ではOAuth認証という方法を使います。
Twitterに限らず、Webサービスの多くは、ユーザーがサービスを利用する際に「ユーザー名」と「パスワード」を入力する必要があります。しかし自分のTwitterのユーザー名とパスワードを、外部のサービスやアプリに入力するのはやや抵抗がありますよね? OAuth認証を使うとそういった心配はありません。
ユーザーがOAuthを利用したWebサービスにアクセスすると、
- Webサービスでユーザーの認証が必要になった場合、いったんTwitterが提供する所定の認証画面に移動する
- そこでTwitterのユーザー名とパスワードを確認し、Twitter側で確認が取れれば『OKですよ!』という情報とともに、はじめにアクセスしたWebサービスの画面(コールバックURL)に戻ってくる
という流れで、Webサービスを利用できるようになります(実際には、自分でWebサービスを作成する場合、あらかじめTwitterアプリとして登録して『お墨付き』をもらっておく必要があります。次回以降説明します)。
こうした手続きを踏むことで、Webサービス内に直接Twitterのパスワードを入力しなくてよくなりますから、ユーザーとしては安心感がありますし、開発者としても自分のサービスでパスワードを管理する必要がなくなり、リスクが軽減します。
OAuthを利用するには、本来はかなり複雑な処理が必要ですが、Twitter API Wikiにサンプルコードが公開されていますので、今回はこのサンプルコードを利用します。
2010年6月、Twitterクライアントアプリが動かなくなる?!
Twitter APIでは、2010年4月現在、「OAuth」「xAuth(簡易版OAuth)」「Basic認証」の3種類の認証方法が用意されています。
OAuthは仕組み上、コールバックURLを必要としますので、デスクトップアプリケーションやiPhoneアプリといったクライアントアプリケーションでは利用しづらい仕組みになっています。そこで、デスクトップアプリケーションやiPhoneアプリの多くは、直接ユーザーIDとパスワードを渡す「Basic認証」を利用してきたわけですが、2010年6月でBasic認証が廃止されることが正式にアナウンスされています。
Twitter API Wki OAuth FAQ
http://apiwiki.twitter.com/OAuth-FAQ?SearchFor=oauth&sp=7
つまり6月頃に『あれ?お気に入りのTwitterアプリが急に使えなくなっちゃった!』『面白いbotが全然しゃべらなくなっちゃった!』というXデーが予想されます。
でもご心配なく。OAuthを使ったアプリケーションは問題ありません。また、Twitter側では現在「クライアントアプリ向け新APIでの認証」を開発しているとのことですから、そう遠くないうちにリリースされるでしょう。