HTTP_OAuthを利用してTwitterのOAuth認証を行う

標準

OAuth認証を行うためのpearライブラリとしてHTTP_OAuthがあります。
今回は、そのライブラリを利用してtwitterの認証を行う方法をご紹介します。


1. HTTP_OAuthのインストール

HTTP_OAuthはHTTP_Request2、HTTP_Request2はNet_URL2に依存しています。
先にこれらのライブラリをインストールした後、インストールを行います。
# これらのライブラリはまだアルファバージョンなので、”channel://~”としてインストールします。

pear install channel://pear.php.net/Net_URL2-0.3.0
pear install channel://pear.php.net/HTTP_Request2-0.4.1
pear install channel://pear.php.net/HTTP_OAuth-0.1.4

2. OAuthの流れ

twitterでOAuthを利用するには、

1. https://twitter.com/apps/new でアプリケーションを登録
2. consumer_key, consumer_key_secretが発行されるのでメモ
3. consumer_key, consumer_key_secretとcallback_urlを指定して、request_tokenを取得(request_tokenはcallback後に使用するのでsessionに記憶しておく。)
4. authorize URLを取得
5. twitter側で認証した後、callback_urlに戻ってくるパラメータoauth_verifierと、request_tokenを利用して、access_tokenを取得
6. access_tokenをセットして、twitterの各種APIを呼び出す。

といった流れになります。

3. サンプルコード

twitterの方で紹介されている、PHP用OAuthのサンプルコードをHTTP_OAuthを使うように(ごにょごにょと)書き換えたら、こんな感じになります。

しかし、このサンプル書き方が汚い。。(時間があれば書き直しておきます。
書き直してみた。

5 Comments

  1. $tok = $oauth->getAccessToken(‘https://twitter.com/oauth/access_token’, $oauth_verifier);

    getAccessToken は戻り値を返さないのでは

    • ご指摘ありがとうございます。サンプルを修正しました。
      確かに、HTTP_OAuth_Consumer::getAccessToken()は戻り値を返しませんね。

  2. Pingback: PHPでTwitter APIのOAuthを使う方法まとめ - 頭ん中

  3. Pingback: [PHP]PHPでTwitterのOAuth認証を実装する - ゼロから始めましょう

コメントを残す

Page optimized by WP Minify WordPress Plugin