https://twitteroauth.com/
oauthに再挑戦。
久しぶりだから情報も増えているだろうと期待して。
http://qiita.com/sofpyon/items/982fe3a9ccebd8702867
phpか...
まあいいや、やってみよう。
https://twitteroauth.com/
composer ?
いれる。
phpのバージョンが古いと言われる。
http://qiita.com/zaburo/items/fd67b294c610d54c3aee
レポジトリを変更する。
5.4.45にする。
・・・・
めんどくさいので結果だけ。
以下の情報をほぼそのまま参考にした。
http://qiita.com/sofpyon/items/982fe3a9ccebd8702867
composerで twitteroauthをインストールするときは、
実際にphpスクリプトを動かすディレクトリにする。
php 5.3だから出るエラーが出てしまった。
5.4.45にあげたのに。
composerを入れた後だったからだろうか?
よくわからないが phpの書き方を変えた。
/var/www/html/
で動かすとして、
そこに、下記ファイルを作る。
common.php
login.php
callback.php
mypage.php
中身
# cat common.php
<?php
define( 'CONSUMER_KEY', '------ your consumuer key -----' );
define( 'CONSUMER_SECRET', '------ your consumuer secret -----' );
define( 'OAUTH_CALLBACK', 'http://example.com/callback.php' ); ※URLは仮
# cat login.php
<?php
session_start();
require_once 'common.php';
require_once 'vendor/abraham/twitteroauth/autoload.php';
use Abraham\TwitterOAuth\TwitterOAuth;
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);
$request_token = $connection->oauth('oauth/request_token', array('oauth_callback' => OAUTH_CALLBACK));
$_SESSION['oauth_token'] = $request_token['oauth_token'];
$_SESSION['oauth_token_secret'] = $request_token['oauth_token_secret'];
$url = $connection->url('oauth/authenticate', array('oauth_token' => $request_token['oauth_token']));
header( 'location: '. $url );
# cat callback.php
<?php
session_start();
require_once 'common.php';
require_once 'vendor/abraham/twitteroauth/autoload.php';
use Abraham\TwitterOAuth\TwitterOAuth;
$request_token = array();
$request_token['oauth_token'] = $_SESSION['oauth_token'];
$request_token['oauth_token_secret'] = $_SESSION['oauth_token_secret'];
if (isset($_REQUEST['oauth_token']) && $request_token['oauth_token'] !== $_REQUEST['oauth_token']) {
die( 'Error!' );
}
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $request_token['oauth_token'], $request_token['oauth_token_secret']);
$_SESSION['access_token'] = $connection->oauth("oauth/access_token", array("oauth_verifier" => $_REQUEST['oauth_verifier']));
session_regenerate_id();
header( 'location: /bl/mypage.php' );
# cat mypage.php
<?php
session_start();
require_once 'common.php';
require_once 'vendor/abraham/twitteroauth/autoload.php';
use Abraham\TwitterOAuth\TwitterOAuth;
$access_token = $_SESSION['access_token'];
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $access_token['oauth_token'], $access_token['oauth_token_secret']);
$user = $connection->get("account/verify_credentials");
echo 'hello, ';
echo $user->name;
http://example.com/login.php ※URLはサンプル
にブラウザでアクセスする。
アプリへのアクセスを許可するかとたずねられて許可すると、
あなたのnameが「ほげほげ君」だとしたら、
hello, ほげほげ君
と表示される。
oauth自体はすごく簡単にできるようになった。
ここまでできてしまえば、あとは自分が取得したい情報を表示、
操作したいAPIを使ってやりたいことをやればよい。
・・・が、そこがよくわからない・・・。
本当はpythonでやりたい。
pythonにも同様のライブラリがあるようなので、今度試してみたい。