TwitterAPI

【TwitterAPI+PHP】TwitterOAuthを使って認証ボタンを作ろう!!

PHPを勉強していると使いたくなるのが『Twitter API』ですよね。

いきなり独自サービスを作るのはとっても大変なので、まずはAPIを使ってシステムの作り方を身につけましょう。

というわけで今回作るのは『Twitter API』の基本である、認証ボタンを作ることにしましょう。

『認証ボタン』の説明

今回作る認証ボタンはこのページにあります。

スクリーンショットで順番に説明していきます。

1. Twitterアカウント認証デモのページへ行きます。

2. 『アカウントを認証をする』ボタンを押して認証ページへ飛びます。

なぜか英語になってますけど気にしないでください。

3. アカウント認証に成功すると、元のページにリダイレクトされます。

4. アカウント認証をキャンセルすると、こうなります。

今回作るページのディレクトリ構成

ディレクトリ構成は以下のようになっています。

twitter-auth-demo … 今回作るページのディレクトリ
ーindex.php … メインページ
ーconfig.php … Twitter API Keyなどを定義するファイル
ーlogin.php … 認証ボタンを押すと飛ぶファイル
ーcallback.php … login.phpで認証が成功すると飛ぶファイル
ーTwitterOAuth … Twitter APIをPHPで利用するためのライブラリファイル

というふうに4つのファイルと1つのフォルダで構成されています。

TwitterOAuthをインストールしよう

5つ目のTwitterOAuthというフォルダは外部ファイルのため、https://twitteroauth.comからファイルをダウンロードしてきます。

『認証ボタン』ページのソースコード

これらの4つのファイルを順番に説明していきます。

index.php

このファイルでは、認証ボタンを設置するページについて書いていきます。

ボタンのCSSとしてBootstrapを使っていますが、そこらへんはあまり気にしなくて大丈夫です。

アカウント認証をした後にこのページへ戻ってくるのでその時の処理も書いておきます。

認証がキャンセルされたとき、不正なアクセスだったとき、認証が成功したときに

それぞれセッション変数にフラグを立てていくので、それを検証します。

また、最後にセッションを空にしてIDを破棄しておきましょう。

config.php

このファイルでは、Twitter APIを使用するために必要なコンシューマーキーなどを定義していきます。

APIキーをまだ取得していない人は、先にhttps://developer.twitter.comでデベロッパー登録を済ませてください。

デベロッパー登録をしてapp登録したあとに生成されたAPIキーと、callback.phpが置いてあるURLを定義します。

login.php

このファイルでは、index.phpの『アカウント認証をする』ボタンを押してあとに飛ぶページを書いていきます。

TwitterOAuthを使ってリクエストトークンをセッションに保存して、認証画面へリダイレクトします。

callback.php

このファイルではアカウント認証をしたあと、認証したユーザーの情報をAPIを使って取得します。

アカウント認証画面でユーザーがキャンセルをしたときにはcallback.phpへのgetパラメータに『denied』がセットされているので、

それでキャンセルされたかどうかを判断してもいました(もっといい方法を知っている方は教えてくださいw)。

リクエストトークンを使ってTwitterOAuthインスタンスを生成したあと、アクセストークンを取得します。

アクセストークンを使ってユーザー情報を取得していき、index.phpへリダイレクトします。

あわせて読みたい

ABOUT ME
miyadiary.net
当サイトを管理しています。IT(プログラミング)、旅行、アニメ関係などを中心とした総合ブログです。 私は主にIT技術についての記事を書いています。

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です