PHP+CodebirdでAccess tokenとAccess token secretを取得する
GETでconsumer_keyとconsumer_secretを投げるとTwitterの認証ページに飛ばして認証後トークンを表示してくれるやつ。
<?php require_once('codebird.php'); session_start(); if(isset($_GET['key']) && isset($_GET['secret'])){ $consumer_key = $_GET['key']; $_SESSION['key'] = $consumer_key; $consumer_secret = $_GET['secret']; $_SESSION['secret'] = $consumer_secret; } else if(isset($_SESSION['key']) && isset($_SESSION['secret'])){ $consumer_key = $_SESSION['key']; $consumer_secret = $_SESSION['secret']; } Codebird\Codebird::setConsumerKey($consumer_key,$consumer_secret); $cb = Codebird\Codebird::getInstance(); if(!isset($_GET['oauth_verifier'])){ $reply = $cb->oauth_requestToken(array( 'oauth_callback' => 'http://0q0.biz/oauth/php/oauth.php' )); $cb->setToken($reply->oauth_token,$reply->oauth_token_secret); $_SESSION['oauth_token'] = $reply->oauth_token; $_SESSION['oauth_token_secret'] = $reply->oauth_token_secret; $auth_url = $cb->oauth_authorize(); header('Location: '.$auth_url); die(); }elseif(!isset($_SESSION['oauth_verified'])){ $cb->setToken($_SESSION['oauth_token'],$_SESSION['oauth_token_secret']); $reply = $cb->oauth_accessToken(array( 'oauth_verifier' => $_GET['oauth_verifier'] )); $_SESSION['oauth_token'] = $reply->oauth_token; $_SESSION['oauth_token_secret'] = $reply->oauth_token_secret; $cb->setToken($_SESSION['oauth_token'],$_SESSION['oauth_token_secret']); $_SESSION['oauth_verified'] = true; } echo "oauth_verified = ".$_SESSION['oauth_verified']."<br>"; echo "Access Token : ".$_SESSION['oauth_token']."<br>"; echo "Access Token Secret : ".$_SESSION['oauth_token_secret']."<br>"; ?>
Codebirdのサンプルを参考に、セッションに入れたり出したりしたりしなかったりするところをちょこちょこ書き換えてみた。
GETで投げるだけだけど、ちょっと使いやすくなるかなと思って専用のページを作ってみました。
TwitterOAuthHelper