2010年9月11日土曜日

Services_TwitterのOAuth対応

少し前にTwitterAPIがOAuth対応になり、これまでのベーシック認証が使えなくなりました。

そのうち対応させなきゃいけないなー、と思いつつ後回しにしていたのですが、こちらの記事を見て簡単にできることがわかったので対応してみました。

http://phpspot.org/blog/archives/2010/09/oauthphptwitter.html

まずは必要なPearライブラリを用意。その時点での最新バージョンをインストールします。


pear install channel://pear.php.net/Net_URL2-0.3.1
pear install channel://pear.php.net/HTTP_Request2-0.5.2
pear install HTTP_OAuth-0.1.18
pear upgrade channel://pear.php.net/Services_Twitter-0.6.2


※Services_Twitterはバージョン0.4以降はphp5.2以上でないとインストールできません。
自分の場合、php5.1の環境だったんですが、-fオプションで強制的にインストールしました。
そのまま使ってますが、今のところ特に問題はでていません。


続いてソースコードの修正。こんな感じになります。


require("Services/Twitter.php");
require("HTTP/OAuth/Consumer.php");

$tweet = "ツイートです\n";

$twitter = new Services_Twitter();
$oauth = new HTTP_OAuth_Consumer(
'*************', //Consumer Key
'*************', //Consumer Secret
'*************', //Access Token
'*************' //Access Token Secret
);
$twitter->setOAuth($oauth);
$msg = $twitter->statuses->update($tweet);
echo "Tweet OK \n\n";


これでAPI経由でtweetできるようになりました。

0 件のコメント:

コメントを投稿