Services_TwitterはPHPで簡単にTwitter APIを使用できるPEARパッケージです。
このライブラリはThe PHP License, version 3.01の元に公開されています。
Services_TwitterはPHP4.3.0以上の環境で動作する事を前提に作成されています。
Services_TwitterはPEARパッケージで提供されています。PEARコマンドからインストールを行うことが可能です。
# pear install -f http://labs.transrain.net/files/Services_Twitter-0.4.0.tgz
情報取得時にJSON形式からデコードしたい場合はJsphonをインストールする事によって、変換機能を使用する事が可能になります。JsphonはHawk氏のサイトで入手してインストールしてください。
一括でインストールを行うにはまず、pear.hawklab.jpのPEARチャネルを登録し、--alldepsオプションをつける事によってインストールされます。
# pear channel-discover pear.hawklab.jp # pear install --alldeps -f http://labs.transrain.net/files/Services_Twitter-0.4.0.tgz
PEAR環境が使えない場合は最新版のtarballをダウンロードし、展開したファイルの中のServicesディレクトリを任意の場所に設置してください。
Jsphonをインストールする場合にはincludeパスが通っているディレクトリに設置してください。require_once('Jsphon.php');で読み込めるように設定する必要があります。
利用方法はとても簡単です。オブジェクトを生成して欲しいデータを取り出すメソッドを呼ぶだけでJSON形式のデータを取得する事が出来ます。また、設定を行う事によってModifiedチェックを行ったり、JSONから配列の形に変換してデータを取得する事も可能です。
require_once "Services/Twitter.php"; $user = 'twitterのユーザ名'; $pass = 'twitterのパスワード'; $st =& new Services_Twitter($user, $pass);
Twitterに通知するアプリケーション名を設定する為のメソッド
$st->setAppName('twitterMobile');
Twitterに通知するアプリケーションのバージョンを設定する為のメソッド
$st->setAppVersion('0.6');
Twitterに通知するアプリケーション情報XMLのURLを設定する為のメソッド
<?xml version="1.0" encoding="utf-8" ?>
<client>
<name>アプリケーションの名前</name>
<version>アプリケーションのバージョン</version>
<author>
<name>制作者の名前</name>
<email>制作者のメールアドレス</email>
<twitter>制作者のTwitterスクリーン名</twitter>
</author>
<url>アプリケーションに関するWebページのURI</url>
<twitter>アプリケーションのTwitterスクリーン名</twitter>
<description><![CDATA[
そのアプリケーションに関する簡単な説明
]]></description>
</client>$st->setAppURL('http://examples.com/application.xml');
Modifiedチェックに使うEtagを設定する為のメソッド
$st->setEtag('"1be7916961faba136c10c9e6487e17c9"');
Modifiedチェックに使うEtagを取得する為のメソッド
$etag = $st->getEtag(); echo $etag; // "1be7916961faba136c10c9e6487e17c9"
Modifiedチェックに使うLast-Modifiedを設定する為のメソッド
$st->setLastModified('Sun, 06 Nov 1994 08:49:37 GMT');
Modifiedチェックに使うLast-Modifiedを取得する為のメソッド
$last_modified = $st->getLastModified(); echo $last_modified; // Sun, 06 Nov 1994 08:49:37 GMT
自動Modifiedチェックに使うキャッシュファイルを保存するパスを設定する為のメソッド
$st->setCacheDir('./cache/');
$st->enableModifiedCheck(); // 自動Modifiedチェックの有効化
JSONの自動デコード機能を有効化するメソッド。
Jsphonがinclude pathに設置されている場合のみ有効。
$st->enableJsonConvert();
JSONの自動デコード機能を無効化するメソッド。
デフォルトでは無効化されているので呼び出す必要は無い。
$st->disableJsonConvert();
自動Modifiedチェック機能を有効化するメソッド。
setCacheDirでキャッシュパスが設定されている場合のみ有効。
$st->setCacheDir('./cache/');
$st->enableModifiedCheck(); // 自動Modifiedチェックの有効化
自動Modifiedチェック機能を無効化するメソッド。
デフォルトでは無効化されているので呼び出す必要は無い。
$st->disableModifiedCheck();
public timelineのデータをJSON形式で取得するメソッド。
enableJsonConvertを呼び出している場合は連想配列で返される。
var_dump($st->getPublicTimeline());
array(20) {
[0]=>
array(4) {
["text"]=>
string(22) "最新のステータス"
["id"]=>
int(記事ID)
["user"]=>
array(8) {
["name"]=>
string(11) "ユーザ名"
["profile_image_url"]=>
string(86) "アイコンURL"
["description"]=>
string(0) ""
["location"]=>
string(0) ""
["screen_name"]=>
string(9) "スクリーン名"
["url"]=>
string(24) "WebサイトURL"
["id"]=>
int(ユーザーID)
["protected"]=>
bool(false)
}
["created_at"]=>
string(30) "Thu Apr 26 07:44:42 +0000 2007"
}
/* ... 略 ... */
}
with friendのデータをJSON形式で取得するメソッド。
enableJsonConvertを呼び出している場合は連想配列で返される。
$options = array(
'since' => 'Tue, 27 Mar 2007 22:55:48 GMT'
);
var_dump($st->getFriendsTimeline($options));
array(20) {
[0]=>
array(4) {
["text"]=>
string(22) "最新のステータス"
["id"]=>
int(記事ID)
["user"]=>
array(8) {
["name"]=>
string(11) "ユーザ名"
["profile_image_url"]=>
string(86) "アイコンURL"
["description"]=>
string(0) ""
["location"]=>
string(0) ""
["screen_name"]=>
string(9) "スクリーン名"
["url"]=>
string(24) "WebサイトURL"
["id"]=>
int(ユーザーID)
["protected"]=>
bool(false)
}
["created_at"]=>
string(30) "Thu Apr 26 07:44:42 +0000 2007"
}
/* ... 略 ... */
}
$st->getReplies();
$st->addFriend('friend screen name');
$st->removeFriend('friend screen name');
作者のブログ:Transrain
作者のTwitter:@ariela