News & Information

~ 良いものを創造し、”よろこび”を提供する ~

TOPphp ⟩ TwitterのPHPライブラリ[codebird-php]の使い方

TwitterのPHPライブラリ[codebird-php]の使い方

2013/12/25

codebird-phpは以下のGitHubにあります。
https://github.com/jublonet/codebird-php

ライセンスはGPL。

環境
PHP 5.3.0以上
CURL拡張(libcurl install /  configure –with-curl)
OpenSSL拡張(OpenSSL install / configure –with-openssl)

PHPファイルの先頭に以下のように書きます。(書かなくてもいいですが、\(バックスラッシュ|円マーク)が入るのが違和感があるので、別名を定義しておきます)

[php]use Codebird\Codebird as Cordbird;[/php]

codebird-phpのHPには、以下のようにありますが、先頭の\記号はPHPでは推奨されないので、外したほうがいいです。
[php]
//\Codebird\Codebird::setConsumerKey(‘YOURKEY’, ‘YOURSECRET’);
Codebird\Codebird::setConsumerKey(‘YOURKEY’, ‘YOURSECRET’);
[/php]

さらにuseで別名を持っているので、以下のように書けます。
[php]
Codebird::setConsumerKey(‘YOURKEY’, ‘YOURSECRET’);
[/php]

[php]
//インスタンスを取得
$cb = Codebird::getInstance();
[/php]

トークンおよびトークンのシークレットをセット。
アクセスしてきたユーザに認証させたいので、認証用ページを表示させます。
※すでにユーザのトークンを取得しているならそれをセットすればOK。
[php]
$cb->setToken(‘YOURTOKEN’, ‘YOURTOKENSECRET’);
[/php]
取得してないなら自分のトークンをセットしてから認証ページ情報を取得して認証ページを取得して、認証の戻りからアクセスユーザのトークンを取得するという手順になります。

[php]
//自分自身に戻るようにcallback先を指定
$reply = $cb->oauth_requestToken(array(‘oauth_callback’ => ‘http://’ . $_SERVER[‘HTTP_HOST’] . $_SERVER[‘REQUEST_URI’]));
// トークンをセット(developerのtoken, token_secret)
$cb->setToken($reply->oauth_token, $reply->oauth_token_secret);
// リダイレクトで認証ページを表示
header(‘Location: ‘ . $cb->oauth_authorize());
die();
[/php]

認証ページからCallbackで戻ってきたらアクセスしてきたユーザのアクセストークンを取得。
(ユーザがキャンセルした場合は、呼び出し元に戻るかどうかTwitter側で画面が表示されます)
[php]
$cb->setToken($_SESSION[‘oauth_token’], $_SESSION[‘oauth_token_secret’]); // oauth_token secret はdeveloperのを指定。
$reply = $cb->oauth_accessToken(array(
‘oauth_verifier’ => $_GET[‘oauth_verifier’]
));
[/php]

アクセスユーザのトークンをセット
[php]
$cb->setToken($reply->oauth_token, $reply->oauth_token_secret);
[/php]
アクセスユーザの情報を取得!
[php]
$me = $cb->account_verifyCredentials();
[/php]

$meにいろいろ情報がセットされます。

サンプルはcodebird-phpにあるので割愛します。
それぞれなにをやっているかちゃんと理解すれば、応用がきくと思います。

質問等ありましたらいつでもコメントどうぞ。


仲間大募集!

現状に満足することなく常に新しい技術を学び、問題解決に取り組める方、
積極的に新しいことにチャレンジしたい!とお考えの方、
ご自身のスキル・経験を活かしてお仕事をしたいとお考えの方を
心より、お待ちしております!!

現状に満足することなく常に新しい技術を学び、問題解決に取り組める方、 積極的に新しいことにチャレンジしたい!とお考えの方、 ご自身のスキル・経験を活かしてお仕事をしたいとお考えの方を 心より、お待ちしております!!