人気ブログランキング | 話題のタグを見る

牛込企画

Twitter OAuth in PHP

ツイッターのオンライン・クライアントを自作するにあたって、まずはOAuth認証にトライ。

基本となる「ゼロから学ぶOAuth」を読もうと思ったのだが途中で飽きてしまったためあとで読むことにした。手っ取り早く「つながった感」を得られるサンプルコードを探す。下記の3つのサイトが大変役に立った。

PHP+OAuthでTwitter - SDN Project
PHP+OAuth でTwitter連携アプリを作る!(Botも作れるよ!)[準備編]
PHPでOAuthを使ったサンプルコード

これらのサイトは共通して、Abraham Williams氏によるPHPライブラリ"twitteroauth"を使っている。面倒なことはライブラリがやってくれるし、逆に言えば何が行われているかよくわからなくてもOAuth認証ができてしまう。


一応サンプルコードをダウンロードして動かしてみたら……動いたよーん。
http://linkage.hp2.jp/tw_test/


前準備として、ツイッターにアプリケーションの登録をして「コンシューマ・トークン」を発行してもらう。登録についての詳細は、上記のありがたい3サイトで説明されていた。サンプルコードを追ってみるとどうやら、ユーザーがアプリケーションを通してツイッターに接続すると、ツイッターはコンシューマ・トークンを参照のうえユーザーに対して「OAuthトークン」を発行し、これをもって認証完了となる、ようだ。詳しい流れは手書きのメモを作ったので、いつの日か文書化したい。

認証をもってアプリケーションにログイン状態となったら、あとはAPI仕様に従いツイッターに要求を投げると返答が返ってくるので、そのデータを処理して表示すればクライアントのできあがり。あら簡単。とりあえずタイムラインの表示とツイートはできた。PHPが動く無料のレンタルスペースでも動いた。


"twitteroauth"の中で何が行われているのか、実際にこのライブラリを使ったクライアント"toridge mobile twitter"(とりったー)の作者氏による記事。あとで読む…。
OAuth認証を自作する!(php+twitter)


携帯用のオンライン・クライアントは端末からのOAuth認証ができない(環境によっては無理やりできないこともない?)ため、最初にPCで認証してもらい、ユーザーごとに固有のURLを発行する方法を採っている。次はこれを実装してみたい。


なお、PHPでOAuthを利用するには上記のライブラリを使う他に、HTTP_OAuthというPEARをインストールする方法もあるようだ。

PHP でTwitter APIのOAuthを使う方法まとめ - 頭ん中
HTTP_OAuthを利用してTwitterのOAuth認証を行う
by linkage_23 | 2010-04-21 06:02