PEAR::Services_Recruit_Abroad作ってみた
先日リクルート社のAPIが公開され、「赤すぐ.net」のPEARパッケージを作ってみましたが、
と言っていたので、お盆休みの時間を利用して、第2弾のAB-RoadのPEARパッケージを作ってみました。テスト等まだ全然足りてませんが、とりあえず公開します。よろしければご利用ください。
残りも時間があれば作ってみようかと。。。「あれば」の話;-)
- Services_Recruit_Abroad-0.0.1.tgz(alpha版:PHP5.2.0以降専用)
インストールは
# pear install -a http://www.doyouphp.jp/pear/Services_Recruit_Abroad-0.0.1.tgz
な感じで。
PEAR::Services_FeedMeterやPEAR::Services_Hatena_Star、PEAR::Services_Recruit_Akasuguと同様、HTTP_Request1.4.1以上が必要になります。なお、PHP5.2.x系のみ対応としていますが、特別な拡張やPEARパッケージを使っているわけではないので、PHP5系であれば動作すると思います(PHP5.2.3以外は動作未確認です)。
また、APIドキュメントも用意してあります。
使い方は、Services_Recruit_Akasuguと同様、
- Services_Recruit_Abroad_Factoryを使ってサービスインスタンスを取得
- 各パラメータをセット
- Services_Recruit_Abroad#invoke()
- invoke()の戻り値を適宜変換して利用する
となります。具体的なサンプルは次のような感じです。
<?php require_once "Services/Recruit/Abroad/Factory.php"; /** * 別途APIキーを取得しておく必要がある */ $APIKEY = '[APIキー]'; /** * 海外旅行検索API */ $obj = Services_Recruit_Abroad_Factory::getInstance(Services_Recruit_Abroad_Factory::API_MODE_TOUR, $APIKEY); $obj->addDept('TYO'); $obj->addKeyword('ヨセミテ'); $obj->setFormat(Services_Recruit_Abroad::FORMAT_JSON); var_dump($obj->invoke()); /** * エリアマスタAPI */ $obj = Services_Recruit_Abroad_Factory::getInstance(Services_Recruit_Abroad_Factory::API_MODE_AREA, $APIKEY); $obj->setFormat(Services_Recruit_Abroad::FORMAT_JSON); var_dump($obj->invoke()); /** * 国マスタAPI */ $obj = Services_Recruit_Abroad_Factory::getInstance(Services_Recruit_Abroad_Factory::API_MODE_COUNTRY, $APIKEY); $obj->addCountry('US'); $obj->setIn_use(Services_Recruit_Abroad_Country::IN_USE_NOTUSE); $obj->setFormat(Services_Recruit_Abroad::FORMAT_JSON); var_dump($obj->invoke()); /** * 都市マスタAPI */ $obj = Services_Recruit_Abroad_Factory::getInstance(Services_Recruit_Abroad_Factory::API_MODE_CITY, $APIKEY); $obj->addCountry('US'); $obj->addCity('NYC'); $obj->setIn_use(Services_Recruit_Abroad_Country::IN_USE_NOTUSE); $obj->setFormat(Services_Recruit_Abroad::FORMAT_JSON); var_dump($obj->invoke()); /** * ホテルマスタAPI */ $obj = Services_Recruit_Abroad_Factory::getInstance(Services_Recruit_Abroad_Factory::API_MODE_HOTEL, $APIKEY); $obj->addCountry('US'); $obj->addCity('NYC'); $obj->setIn_use(Services_Recruit_Abroad_Country::IN_USE_NOTUSE); $obj->setFormat(Services_Recruit_Abroad::FORMAT_JSON); var_dump($obj->invoke()); /** * 航空会社マスタAPI */ $obj = Services_Recruit_Abroad_Factory::getInstance(Services_Recruit_Abroad_Factory::API_MODE_AIRLINE, $APIKEY); $obj->addKeyword('ベトナム'); $obj->setFormat(Services_Recruit_Abroad::FORMAT_JSON); var_dump($obj->invoke()); /** * こだわりマスタAPI */ $obj = Services_Recruit_Abroad_Factory::getInstance(Services_Recruit_Abroad_Factory::API_MODE_KODAWARI, $APIKEY); $obj->setFormat(Services_Recruit_Abroad::FORMAT_JSON); var_dump($obj->invoke());
追記(2007/08/14 18:52)
okuryuさんからのコメントですが、以下のような感じです。ちなみに環境は、
- CentOS4.5
- PHP5.2.3
- PEAR 1.5.4
- PEAR_PackageProjector 0.1.3
- PEAR::PHP_CodeSniffer 0.7.0
- PEAR::Console_Getargs 1.3.4
- PEAR::PEAR_PackageFileManager 1.6.1
です。
[project] src_dir = src release_dir = release [package] package_name = Services_Recruit_Abroad package_type = php baseinstalldir = / channel = __uri summary = Web api wrapper for Abroad ;description = # ;notes = # ;summary_file = <filepath> description_file = desc.txt notes_file = notes.txt [role] ;; role value is <php|data|doc|test|script|src> ;sh = script [version] release_ver = 0.0.1 release_stab = alpha api_ver = 0.1.0 api_stab = alpha php_min = 5.1.0 pear_min = 1.4.11 [license] name =PHP License 3.01 uri = http://www.php.net/license/3_01.txt [maintainer://handlename] name = Hideyuki Shimooka email = shimooka@doyouphp.jp role = lead ;[file://<filepath>] ;commandscript = command ;ignore = 1 ;platform = windows ;install = renamefile ;; role value is <php|data|doc|test|script|src> ;role = script [dep://HTTP_Request] type = required channel = pear.php.net min = 1.4.1 max = 0 recommended = 1.4.1 exclude = 0 providesextension = 0 nodefault = 0 ;[installer://<groupname>] ;instructions = <group info message> ;<param_name>.prompt = <param info message> ;<param_name>.type = string ;<param_name>.default = <default value>