twitter のユーザ認証
#07 ユーザー認証をしてみよう
http://dotinstall.com/lessons/tw_connect_php_v2/21907
を参考にユーザ認証について学習
認証したユーザーの情報を取得するためのAPIは
https://dev.twitter.com/docs/api/1.1/get/account/verify_credentials
を参考にする
認証に必要な callback.php を作成
ユーザ認証には
codebird.php を使うので
require_once(‘config.php’);
require_once(‘codebird.php’);
で読み込む
ファイルのパスに注意
初期化に
consumer key
consumer secret
が必要なので、これは定数から取得する
初期化のあたりは、
https://github.com/mynetx/codebird-php
の
1. Authentication
を参考にして、ほぼコピペ
Codebird\Codebird::setConsumerKey(‘YOURKEY’, ‘YOURSECRET’);
を
Codebird::setConsumerKey(CONSUMER_KEY, CONSUMER_SECRET);
というように定数に変更
$cb = \Codebird\Codebird::getInstance();
はそのままコピペ
ユーザ認証関連もコピペでOKらしいけど
https://github.com/mynetx/codebird-php
の
Or you authenticate, like this:
の下にコードが載っているが、バージョン変更されたのか
コードが微妙に違っているので
http://dotinstall.com/lessons/tw_connect_php_v2/21907
の部分を使ってみた
twitter で認証されると
GETで ’oauth_verifier’ が渡される
if (! isset($_GET[‘oauth_verifier’])) {
なので、もし渡されないならという意味
$auth_url = $cb->oauth_authorize();
header(‘Location: ‘ . $auth_url);
die();
では、 twitter 認証画面に飛ばしている
その場合、スコープ内の処理が実行される
認証できたなら
else のスコープの中の処理が実行される
‘oauth_verifier’
は認証完了したときに返ってくる値
$_SESSION[‘oauth_token’] = $reply->oauth_token;
$_SESSION[‘oauth_token_secret’] = $reply->oauth_token_secret;
はユーザが必要なAPIにアクセスするのに必要
$cb->setToken($reply->oauth_token, $reply->oauth_token_secret);
でユーザが必要なAPIを使えるようにする処理
$me = $cb->account_verifyCredentials();
でユーザ情報をみることができる
ここまでできたら
var_dump($me);
で格納できているか確認
account_verifyCredentials();
は
codebird.php での twitter API を使ったアクセス方法
詳しくは
https://github.com/mynetx/codebird-php
3. Mapping API methods to Codebird function calls
を参考に