NP_AutoTwitter を PHP 5.1 で使う
NP_AutoTwitter はかなり前に試していたんで、頼まれたらいつでもできるぞ、と思ってたんですが、新規制作サイトで実装したら、ブログ投稿→ Twitter 投稿が何度も行われてしまうという目に遭遇し、冷や汗タラタラでした。
たまたまその投稿が NP_Moblog を使ったメール投稿で、メール取得してもサーバーから削除されない状況だったため、ずっとソッチのチェックをしてました。
NP_AutoTwitter を外して、モブログしたら正常動作したため、問題は NP_AutoTwitter だと気づき、公開サーバーと同じチェック環境を別に作り、やっぱり正常動作せず。そこまで来てふと PHP のバージョンを調べたら、最初のチェック環境が 5.2 で、公開サーバーが 5.1 だった、と。
NP_AutoTwitter の説明にあるんだけど、Twitter 用に使ってるライブラリが 5.2 用で書かれているらしく、動作環境でなかったという話。
ネット上でそのへん調べたら、json_decode についての情報を発見。PHP 5.2 から使える関数で、それ以前はライブラリ使ってるらしい。なので、
- ライブラリをダウンロード。
- 必要なやつ(Jsphon.php と Jsphon フォルダ一式)を autotwitter ディレクトリに入れる。
- twitteroauth.php で Jsphon.php を include する。
- twitteroauth.php 書き換え。
class TwitterOAuth {} 内に以下を記述。
function json_decode($json_data) {
$json = new Jsphon_Decoder();
$result = $json->decode($json_data);
return $result;
}
そして、class TwitterOAuth {} 内の return json_decode($response); となってるところを、
return $this->json_decode($response); に書き換え。
以上でいまんとこ動いてる模様。
あときづいたこと
サイトによっては自動改行とか設定せず、普通に HTML でタグ使って投稿するところがあるんですが(このサイトとか)HTML は全くツィートしてくれないんだなー。当然といや当然だけど。
2011-03-31 12:29 | Nucleus | ichiro | permalink


Comments
コメントはまだありません