PEAR::Services_Pathtraq作ってみた
先日サイボウズ・ラボのPathtraq APIが公開されました。6つのAPIのうち、とりあえず4つをPEARパッケージにしてみました。6つのAPIを実装しました。追記を参照してください。
サイボウズ株式会社 (本社: 東京都文京区 代表取締役社長: 青野 慶久 (戸籍名: 西端 慶久) 以下サイボウズ) の連結子会社で、研究開発を専門に行うサイボウズ・ラボ株式会社 (本社: 東京都千代田区 代表取締役社長 畑 慎也 以下サイボウズ・ラボ) は、2007年8月8日(水)に開始した話題になっているウェブサイトやブログをリアルタイムにランキング化するサイト「Pathtraq (パストラック)」のアクセス統計データを利用した 開発者向け API を2008年7月23日(水)より公開することを発表いたします。
インストールは
$ sudo pear install -af http://www.doyouphp.jp/pear/Services_Pathtraq-0.0.1.tgz
な感じでどうぞ。
また、作ったパッケージのコードは、いつも通りCodeReposに上げてあります。
ざっとした使い方は、次のような感じです。
<?php error_reporting(E_ALL); function invoke($obj) { try { var_dump($obj->getRequestUrl()); var_dump($obj->invoke()); } catch (Exception $e) { var_dump($e->getMessage()); } } // Test require_once "Services/Pathtraq/Factory.php"; /** * ニュースランキング取得API */ $obj = Services_Pathtraq_Factory::getInstance(Services_Pathtraq_Factory::API_NEWS_RANKING); invoke($obj); /** * カテゴリランキング取得API */ $obj = Services_Pathtraq_Factory::getInstance(Services_Pathtraq_Factory::API_CATEGORY_RANKING); $obj->setCategory(Services_Pathtraq_Category::ANIME); $obj->setScope(Services_Pathtraq_Scope::POPULAR); invoke($obj); /** * キーワード・URL検索API */ $obj = Services_Pathtraq_Factory::getInstance(Services_Pathtraq_Factory::API_KEYWORD_SEARCH); $obj->addKeyword('ソフトバンク'); $obj->addCategory(Services_Pathtraq_Category::MOBILE); invoke($obj); $obj = Services_Pathtraq_Factory::getInstance(Services_Pathtraq_Factory::API_KEYWORD_SEARCH); $obj->addPrevsite('http://d.hatena.ne.jp/shimooka'); invoke($obj); /** * URL正規化API */ $obj = Services_Pathtraq_Factory::getInstance(Services_Pathtraq_Factory::API_NORMALIZE_URL); $obj->setUrl('http://www.amazon.co.jp/exec/obidos/ASIN/4166605917/cybozulabs-22/'); invoke($obj);
なぜ4つなのか?まあ、単に力尽きただけです>< そのうち、残りの2つを実装します。
追記(2008/07/26 21:15)
残りの2API「ページカウンタAPI」「ページチャートAPI」を実装し、バージョン0.1.0として公開します。
インストール・アップグレードは
$ sudo pear install -af http://www.doyouphp.jp/pear/Services_Pathtraq-0.1.0.tgz $ sudo pear upgrade -af http://www.doyouphp.jp/pear/Services_Pathtraq-0.1.0.tgz
な感じでどうぞ。
念のため、サンプルコード。。。
<?php error_reporting(E_ALL); function invoke($obj) { try { var_dump($obj->getRequestUrl()); var_dump($obj->invoke()); } catch (Exception $e) { var_dump($e->getMessage()); } } // Test require_once "Services/Pathtraq/Factory.php"; /** * ページカウンタAPI */ $obj = Services_Pathtraq_Factory::getInstance(Services_Pathtraq_Factory::API_PAGE_COUNTER); $obj->setUrl('http://d.hatena.ne.jp/shimooka/'); invoke($obj); /** * ページチャートAPI */ $obj = Services_Pathtraq_Factory::getInstance(Services_Pathtraq_Factory::API_PAGE_CHART); $obj->setUrl('http://d.hatena.ne.jp/shimooka/'); $obj->setScale(Services_Pathtraq_Scale::MONTH); invoke($obj);