2013.12.25 (Wed) Category : PHP,technology Author :

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

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

use Codebird\Codebird as Cordbird;

codebird-phpのHPには、以下のようにありますが、先頭の\記号はPHPでは推奨されないので、外したほうがいいです。

//\Codebird\Codebird::setConsumerKey('YOURKEY', 'YOURSECRET');
Codebird\Codebird::setConsumerKey('YOURKEY', 'YOURSECRET');

さらにuseで別名を持っているので、以下のように書けます。

Codebird::setConsumerKey('YOURKEY', 'YOURSECRET');
//インスタンスを取得
$cb = Codebird::getInstance();

トークンおよびトークンのシークレットをセット。
アクセスしてきたユーザに認証させたいので、認証用ページを表示させます。
※すでにユーザのトークンを取得しているならそれをセットすればOK。

$cb->setToken('YOURTOKEN', 'YOURTOKENSECRET');

取得してないなら自分のトークンをセットしてから認証ページ情報を取得して認証ページを取得して、認証の戻りからアクセスユーザのトークンを取得するという手順になります。

//自分自身に戻るように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();

認証ページからCallbackで戻ってきたらアクセスしてきたユーザのアクセストークンを取得。
(ユーザがキャンセルした場合は、呼び出し元に戻るかどうかTwitter側で画面が表示されます)

$cb->setToken($_SESSION['oauth_token'], $_SESSION['oauth_token_secret']); // oauth_token secret はdeveloperのを指定。
$reply = $cb->oauth_accessToken(array(
'oauth_verifier' => $_GET['oauth_verifier']
));

アクセスユーザのトークンをセット

$cb->setToken($reply->oauth_token, $reply->oauth_token_secret);

アクセスユーザの情報を取得!

$me = $cb->account_verifyCredentials();

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

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

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


コメント

コメントを残す

%d人のブロガーが「いいね」をつけました。