Services_Yahoo_Ja パッケージもつくってみました

別のものをつくる時間があれば早くアップしろという話ですが、、
ヤフーの公開しているWebサービスAPIを利用するパッケージも作ってみました。
(ヤフーの公開APIについて http://developer.yahoo.co.jp/)
今度はJPRC (Japan PHP Repository Channel) の動きがあればこれに登録してみたいところです。


これはすでにPEARに米ヤフーのAPIを利用するServices_Yahooパッケージ
があるので、これを一部継承する形でつくってみました。
検索では、APIのURLを新たにセットし直しているだけです。
(実は、米ヤフーのAPIでも言語を指定すれば日本語検索できるのですが)


最近ヤフーが公開した、カテゴリWebサービスも対応させてみました。
(一部対応しきれていませんが。。)
以下にインストールとテストスクリプトを示しておきます。
例によっていかなる被害も責任を負えませんが、ぜひお試しくださいませ。

pear install Services_Yahoo-alpha
pear install http://hetena.com/y/pkg/Services_Yahoo_Ja-0.0.1.tgz

テストスクリプト

<?php
require_once 'Services/Yahoo/Exception.php';
require_once 'Services/Yahoo/Ja/Category.php';
$yahoo = Services_Yahoo_Ja_Category::factory('dir');
$yahoo->setAppID('peartest'); // please, use your AppID.
$yahoo->setId(2075289519); // Category ID
try {
    $result = $yahoo->submit();
    $space = $result['Space'];
    printf("このカテゴリのタイトル : %s (%s)\n", $space['Title'], $space['Id']);
    $category = $result['Category'];
    foreach ($category as $entry) {
        printf("子カテゴリのタイトル : %s (%s)\n", $entry['Title'], $entry['Id']);
    }
    $site = $result['Sites'];
    foreach ($site as $entry) {
        printf("登録サイトのタイトル : %s (%s)\n", $entry['Title'], $entry['Url']);
    }
} catch (Services_Yahoo_Exception $e){
    print($e);
}
?>

結果はこのような感じで、カテゴリ名やカテゴリIDを取得できます。

このカテゴリのタイトル : アウトドア (2075289519)
子カテゴリのタイトル : 海水浴場 (2076303950)
子カテゴリのタイトル : 環境と自然 (2075722160)
子カテゴリのタイトル : キャンプ (2075289522)
.. 略 ..

これを利用して、デモページとしてこんなページを用意してみました。
http://hetena.com/y/demo/demo_category.php


まだまだつくりかけといった感じですが、これから充実させていきたいと思います。