アシアルブログ

アシアルの中の人が技術と想いのたけをつづるブログです

Services_SocialChat_Twitter と DooViiChat を作ってみました。

こんにちは、亀本です。

このところ、twitterが大変人気ですね。
最初はなんか微妙かなぁ、と思っていた自分も、いつの間にやらやっていたりします。
とはいえ自分が凝っているのは、twitterよりDooViiチャットなんですが。。。
まぁ、そんなこんなで、ソーシャルチャット?の類にばっちりハマっているわけです。

大概この手のWebサービスAPI公開つきで広まると、hackな人たちがServices_hogehogeという感じの名前をつけた野良PEARパッケージを、まさにhackなスピードでリリースするんですが、なぜか今回Services_Twitterみたいなパッケージがいくらググッても見つかりませんでした。

twitterがそもそも、その特性上PEARパッケージにしても発展性のない感じのサービスなので、PEARパッケージにしても利用価値が少なそうで、みんな食指が伸びないのでしょうか。

そこで。。。
利用価値があんまりない

作っても誰も使わない

ちょっとぐらいダメダメなライブラリでも使う人いない

使う人いないからダメダメでも迷惑かからない

という意味のわからない思考回路の元、派手にDISられるのを覚悟でライブラリ作成に初挑戦しました。

http://www.asial.co.jp/blog/scripts/180/Services_SocialChat-0.1.0.tgz

Services_SocialChatというクラスを継承して、パッケージの中にそれぞれTwitterとDooViiChatのラッパークラスがあります。

基本的な使い方としては、


pear install http://www.asial.co.jp/blog/scripts/180/Services_SocialChat-0.1.0.tgz

か、もしくは上のパッケージを直にダウンロードして、展開すればインストールできます。
簡単なサンプルは


<?php
require_once 'Services/SocialChat/Twitter.php';
$twitter = new Services_SocialChat_Twitter('username', 'password');
$data = $twitter->status_user_timeline();
var_dump($data);
?>

といった感じです。
各メソッドは、twitterのAPIページを参照してもらえればすぐわかると思います。
DooViiChatの場合は、Twitterの所をDooViiChatに換えて、またメソッドを適宜変更してください。
(なお、DooViiChatはAPIといってもまだupdateなどができず、また各機能に正式名称が付いていないようなので仕様派手に変えるかもしれません。)

このあたりこのあたりを参考にしながら作ってみました。あとこのあたりにもかなりお世話になりました。
今のところ、本当に一通り作ってみた、というレベルです。エラーハンドリングもほとんどまともにやっていません。

取得データのパーサはどこまでライブラリがやるべきか迷ったので、jsonxmlしか実装しておらず、適当です。php5.2.0以上を想定しています。
時間と需要があるようなら、ちゃんとパーサ実装をして行こうかと思います。

こういったものを作るのは初めてなので、とにかくリリース優先でやっつけた部分が多々あります。時間を見つけてちょくちょくブラッシュアップして行きたいなぁと思います。

もっとこういう実装のほうが良い、この辺ちゃんと説明すべき、こういう記述を含めるのが通例、といった話や、そもそもバグってる、このライブラリ自体丸々ダメダメみたいな話でも参考になりますので、ちょっとでも思うことありましたら、何かコメントもらえると嬉しいです><。。

#もし、本気でPHPからtwitterを使うちゃんとしたラッパーが欲しい人は
そういえばrhacoにTwitterのAPIラッパがあるらしいよ
あたりをご参考になさったほうが良いかと思います。rhaco方面は新しいことに意欲的ですね。

このServices_SocialChatは、おめーの茶番に付き合ってやるよ、って方にぜひお願いします><。