まず、TwitterAPIを利用するには、IDとパスワードが必要なわけで、2010年8月まではBASIC認証ができましたが、それ以降はできなくなりました。その代替としてOAuth/xAuthを利用する事になります。この手順としては基本は以下のとおりです。
事前準備
- OAuthを使うアプリケーションをTwitterサイトで事前登録する
- 設定画面よりConsumer keyとConsumer secret(アプリのIDとパスワードみたいなもの)を入手
- ユーザにアプリが自身のIDを利用してTwitterにアクセスできるように許可をさせる。具体的にはConsumer keyとConsumer secretを利用して、アプリで認証のためのURLを入手し、そのサイトへユーザをアクセスさせる。
- サイト上でユーザが許可するとPINCODE(暗証番号)が表示される
- Consumer key、Consumer secret、PINCODEを利用して、AccessTokenとAccessTokenSecretを入手する(これが、ユーザのID、パスワード替りになります)。
- 以後、 Consumer key、Consumer secret、AccessToken、AccessTokenSecretを利用してAPIにアクセスする
アプリを開発する際には、
- アプリ認証のためにブラウザを起動し認証用URLへ行かせる記述が必要。ウェブアプリの際には、自分のサイトへ戻ってこさせる記述も必要。
- PINCODEをユーザに入力させる画面とそれを保存する記述が必要。
- AccessToken、AccessTokenSecretを保存する記述が必要
以上が基本的な考え方ですが、アプリの形態によりちょっとした補足をしておきます。
【マルチユーザでないアプリの場合】
自分しか使わない、あるいはbotのようなアプリの際に、わざわざPINCODEを入手してAccessToken、AccessTokenSecretを入手するプログラムの記述と操作をするのははばからしいです。Twitter上のアプリのサイトには、自分用のAccessToken、AccessTokenSecretを入手するボタンがあります。これをコードに埋め込んでおけば、手軽に利用できます。
【PINCODE入手させることが困難な場合】
アプリによっては、PINCODE入手のためにウェブサイトにアクセスさせることが困難なケースが考えられます。あるいは、いったんウェブブラウザでサイトに行かせるというのは、ユーザビリティの観点からもいまいちです。その際には、xAuth認証(AccessToken、AccessTokenSecretを入手する最初の時だけ、ID、パスワードを入力させる)という枠組みもあります。これを利用する際には、Twitterへメール申請が別途必要です。
0 件のコメント:
コメントを投稿