Do You PHP はてブロ

Do You PHPはてなからはてブロに移動しました

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);