PEAR::Services_Recruit_Akasugu作ってみた
で、まずは「赤すぐ.net」の5つのAPIをwrapしたPEARパッケージを作ってみました。
リクルートは8月1日、リクルートが保有するデータベースを利用するためのAPIを一括提供するサイト「リクルートWEBサービス」を公開した。同時に、これまで未公開であった「エイビーロード」「リクルート進学ネット」「赤すぐnet」「ホットペッパーBeauty」の4つのAPIも提供開始された。
- Services_Recruit_Akasugu-0.0.1.tgz(alpha版:PHP5.2.0以降専用)
インストールは
# pear install -a http://www.doyouphp.jp/pear/Services_Recruit_Akasugu-0.0.1.tgz
な感じで。
PEAR::Services_FeedMeterやPEAR::Services_Hatena_Starと同様、HTTP_Request1.4.1以上が必要になります。なお、PHP5.2.x系のみ対応としていますが、特別な拡張やPEARパッケージを使っているわけではないので、PHP5系であれば動作すると思います(PHP5.2.3以外は動作未確認です)。
また、APIドキュメントも用意してあります。
基本的な使い方は、
- Services_Recruit_Akasugu_Factoryを使ってサービスインスタンスを取得
- 各パラメータをセット
- Services_Recruit_Akasugu#invoke()
- invoke()の戻り値を適宜変換して利用する
となります。具体的なサンプルは次のような感じです。
<?php require_once "Services/Recruit/Akasugu/Factory.php"; /** * 別途APIキーを取得しておく必要がある */ $APIKEY = '[APIキー]'; /** * 大カテゴリマスタAPI */ $obj = Services_Recruit_Akasugu_Factory::getInstance( Services_Recruit_Akasugu_Factory::API_MODE_LCAT, $APIKEY); $obj->setFormat(Services_Recruit_Akasugu::FORMAT_JSON); var_dump($obj->invoke()); /** * 中カテゴリマスタAPI */ $obj = Services_Recruit_Akasugu_Factory::getInstance( Services_Recruit_Akasugu_Factory::API_MODE_MCAT, $APIKEY); $obj->addLargeCategory(2); $obj->addLargeCategory(4); $obj->setFormat(Services_Recruit_Akasugu::FORMAT_JSON); var_dump($obj->invoke()); /** * 小カテゴリマスタAPI */ $obj = Services_Recruit_Akasugu_Factory::getInstance( Services_Recruit_Akasugu_Factory::API_MODE_SCAT, $APIKEY); $obj->addLargeCategory(2); $obj->addMiddleCategory(201); $obj->setFormat(Services_Recruit_Akasugu::FORMAT_JSON); var_dump($obj->invoke()); /** * 対象月例マスタAPI */ $obj = Services_Recruit_Akasugu_Factory::getInstance( Services_Recruit_Akasugu_Factory::API_MODE_AGE, $APIKEY); $obj->setFormat(Services_Recruit_Akasugu::FORMAT_JSON); var_dump($obj->invoke()); /** * 商品検索API */ $obj = Services_Recruit_Akasugu_Factory::getInstance( Services_Recruit_Akasugu_Factory::API_MODE_ITEM, $APIKEY); $obj->setFormat(Services_Recruit_Akasugu::FORMAT_JSON); $obj->addMiddleCategory(401); $obj->addMiddleCategory(402); $obj->setPriceMax(5000); $obj->setOrder(Services_Recruit_Akasugu_Item::ORDER_LOWPRICE); $obj->setCount(20); var_dump($obj->invoke());
残りも時間があれば作ってみようかと。。。「あれば」の話;-)