twitterのOAuth

この記事は最終更新日から 約15年が経過しているので情報が古い可能性があります。

本来の使い方ではありませんが、twitterのOAuthを、MacFeeling Softwareのダウンロードに利用してみましたので、忘れないうちに備忘録として書き留めておきます。

なお、CORESERVER.JPにて、確認しました。

ドメイン取るなら、MacFeeling.comもお世話になっているドメイン登録代行のVALUE DOMAIN:バリュードメイン

参考ページ

PHPで行うので、abraham’s twitteroauth at master – GitHubを利用します。Downloads for abraham’s twitteroauth – GitHubのページから、「0.2.0-beta3」をダウンロードして解凍。

フォルダ名が「abraham-twitteroauth-xxxxxxx」となっているので、適当な名前に変更してください。(ここでは twitter とします。)

自分で色々とするときは、twitter/twitteroauthフォルダ内の、OAuth.phpとtwitteroauth.phpのみが必要とのことですが、今回は全て(DOCUMENTATION、LICENSE、README、test.phpを除く)を使います。

config.phpを編集するのですが、Consumer keyとConsumer secretを取得しなくてはならないので、まずは、dev.twitter.comのページにアクセスしてログインしたら、右側の「新しいアプリケーションを登録する」をクリック。

  • アプリケーション名:表示される名前になります。
  • アプリケーションの説明:簡単な説明を
  • アプリケーションのウェブサイトURL:アップした「twitter」フォルダのURL。
    例えば http://www.hogehoge.com/twitter/
  • 所属会社/団体:空欄でもOK
  • アプリケーションの種類:「ブラウザアプリケーション」を選択してください。
  • コールバックURL:アップした「twitter」フォルダの中にある「callback.php」
    例えば http://www.hogehoge.com/twitter/callback.php
  • Default Access type:今回は、twitterの認証のみを利用するので、 Read-only を選択。

全ての設定は、後からでも編集できます。

設定をしたら、認証の文字列を入力して、「アプリケーションを登録する」をクリックで、問題なければ登録完了です。

右側の「View your applications」を選択すると、登録されているアプリケーション一覧が表示されるので、今登録が完了したアプリをクリック。

OAuth 1.0a Settings項目にある、Consumer keyとConsumer secretの文字列を控えておいてください。

twitter/config.phpをエディタで開いたら、

define('CONSUMER_KEY', 'xxxxxx');
define('CONSUMER_SECRET', 'xxxxxx');

の CONSUMER_KEY と CONSUMER_SECRET のxxxxxxの部分を、先ほど控えておいた Consumer key と Consumer secret の文字列に変更してください。

twitterフォルダ(DOCUMENTATION、LICENSE、README、test.phpを除く)をお使いのサーバにアップ(アプリケーションのウェブサイトURLで指定した場所)してください。

あとは、ブラウザでアプリケーションのウェブサイトURLで指定した場所にアクセスすれば(twitterにまだログインしていなければログインのページになるのでログインを)、ご自分のtwitterアカウントに関する情報がずらっと表示されます。

これは、認証が成功した時の callback.php の以下の部分で index.php が指定されているので、index.phpの処理がなされています。つまりこの部分を別に作成したphpファイルに変更すれば、表示を変えることが出来ます。

if (200 == $connection->http_code) {
/* The user has been verified and the access tokens can be saved for future use */
$_SESSION['status'] = 'verified';
header('Location: ./index.php');
} else {
/* Save HTTP status for error dialog on connnect page.*/
header('Location: ./clearsessions.php');
}

コメント

タイトルとURLをコピーしました