2011-02-09

PEAR::HTTP_OAuthとLimonadeではてなOAuth認証

Consumer key を取得して OAuth 開発をはじめよう - Hatena Developer Center にPHPのサンプルコードが載っていなかったので、PEAR::HTTP_OAuth(0.2.2-alpha)とLimonade(0.5.1)を使ってサンプルコードを書いてみました。

下のコードを保存して (index.php)、YOUR_CONSUMER_KEY, YOUR_CONSUMER_SECRET となっている部分を自分の consumer_key, consumer_secret で置き換える…と動くと思いますが、ラムダ関数を使っているのでバージョン5.3以上でないと動きません。

コードはなるべくRubyのものに合わせてあります。

最初 {app_root_url}/oauth_callback という形でCallback URLを指定していたらoauth_verifierが$_GETから取得できなかったので、Callback URLを {app_root_url}/?u=oauth_callback のようにしています(/oauth_callbackの箇所も実際はurlとしてクエリで渡っているので、 /?/oauth_callback?oauth_verifier=... のようにクエリが二重になるようです)。

あとPHPは__END__はない(と思います)のでインラインテンプレートが変な書き方になっています…。