| WebService-Recruit-Shingaku documentation | Contained in the WebService-Recruit-Shingaku distribution. |
WebService::Recruit::Shingaku - An Interface for Recruit Shingaku net Web Service
use WebService::Recruit::Shingaku;
my $service = WebService::Recruit::Shingaku->new();
my $param = {
'key' => $ENV{'WEBSERVICE_RECRUIT_KEY'},
'keyword' => '数学',
'pref_cd' => '12',
};
my $res = $service->school( %$param );
my $root = $res->root;
printf("api_version: %s\n", $root->api_version);
printf("results_available: %s\n", $root->results_available);
printf("results_returned: %s\n", $root->results_returned);
printf("results_start: %s\n", $root->results_start);
printf("school: %s\n", $root->school);
print "...\n";
リクルート進学ネットに掲載されている学校および各種学問・仕事・資格を様々な軸で検索できるAPIです。
This is the constructor method for this class.
my $service = WebService::Recruit::Shingaku->new();
This accepts optional parameters.
my $conf = {
utf8_flag => 1,
param => {
# common parameters of this web service
},
};
my $service = WebService::Recruit::Shingaku->new( %$conf );
Add common parameter of tihs web service.
$service->add_param( param_key => param_value );
You can add multiple parameters by calling once.
$service->add_param( param_key1 => param_value1,
param_key2 => param_value2,
...);
Returns common parameter value of the specified key.
my $param_value = $service->get( 'param_key' );
This makes a request for school API.
See WebService::Recruit::Shingaku::School for details.
my $res = $service->school( %$param );
This makes a request for subject API.
See WebService::Recruit::Shingaku::Subject for details.
my $res = $service->subject( %$param );
This makes a request for work API.
See WebService::Recruit::Shingaku::Work for details.
my $res = $service->work( %$param );
This makes a request for license API.
See WebService::Recruit::Shingaku::License for details.
my $res = $service->license( %$param );
This makes a request for pref API.
See WebService::Recruit::Shingaku::Pref for details.
my $res = $service->pref( %$param );
This makes a request for category API.
See WebService::Recruit::Shingaku::Category for details.
my $res = $service->category( %$param );
This modules uses XML::TreePP module internally. Following methods are available to configure it.
$service->utf8_flag( 1 );
$service->user_agent( 'Foo-Bar/1.0 ' );
$service->lwp_useragent( LWP::UserAgent->new() );
$service->http_lite( HTTP::Lite->new() );
http://webservice.recruit.co.jp/shingaku/
RECRUIT Media Technology Labs <mtl@cpan.org>
Copyright 2008 RECRUIT Media Technology Labs
| WebService-Recruit-Shingaku documentation | Contained in the WebService-Recruit-Shingaku distribution. |
package WebService::Recruit::Shingaku; use strict; use base qw( Class::Accessor::Fast ); use vars qw( $VERSION ); $VERSION = '0.0.1'; use WebService::Recruit::Shingaku::School; use WebService::Recruit::Shingaku::Subject; use WebService::Recruit::Shingaku::Work; use WebService::Recruit::Shingaku::License; use WebService::Recruit::Shingaku::Pref; use WebService::Recruit::Shingaku::Category; my $TPPCFG = [qw( user_agent lwp_useragent http_lite utf8_flag )]; __PACKAGE__->mk_accessors( @$TPPCFG, 'param' ); sub new { my $package = shift; my $self = {@_}; $self->{user_agent} ||= __PACKAGE__."/$VERSION "; bless $self, $package; $self; } sub add_param { my $self = shift; my $param = $self->param() || {}; %$param = ( %$param, @_ ) if scalar @_; $self->param($param); } sub get_param { my $self = shift; my $key = shift; my $param = $self->param() or return; $param->{$key} if exists $param->{$key}; } sub init_treepp_config { my $self = shift; my $api = shift; my $treepp = $api->treepp(); foreach my $key ( @$TPPCFG ) { next unless exists $self->{$key}; next unless defined $self->{$key}; $treepp->set( $key => $self->{$key} ); } } sub init_query_param { my $self = shift; my $api = shift; my $param = $self->param(); foreach my $key ( keys %$param ) { next unless defined $param->{$key}; $api->add_param( $key => $param->{$key} ); } } sub school { my $self = shift or return; $self = $self->new() unless ref $self; my $api = WebService::Recruit::Shingaku::School->new(); $self->init_treepp_config( $api ); $self->init_query_param( $api ); $api->add_param( @_ ); $api->request(); $api; } sub subject { my $self = shift or return; $self = $self->new() unless ref $self; my $api = WebService::Recruit::Shingaku::Subject->new(); $self->init_treepp_config( $api ); $self->init_query_param( $api ); $api->add_param( @_ ); $api->request(); $api; } sub work { my $self = shift or return; $self = $self->new() unless ref $self; my $api = WebService::Recruit::Shingaku::Work->new(); $self->init_treepp_config( $api ); $self->init_query_param( $api ); $api->add_param( @_ ); $api->request(); $api; } sub license { my $self = shift or return; $self = $self->new() unless ref $self; my $api = WebService::Recruit::Shingaku::License->new(); $self->init_treepp_config( $api ); $self->init_query_param( $api ); $api->add_param( @_ ); $api->request(); $api; } sub pref { my $self = shift or return; $self = $self->new() unless ref $self; my $api = WebService::Recruit::Shingaku::Pref->new(); $self->init_treepp_config( $api ); $self->init_query_param( $api ); $api->add_param( @_ ); $api->request(); $api; } sub category { my $self = shift or return; $self = $self->new() unless ref $self; my $api = WebService::Recruit::Shingaku::Category->new(); $self->init_treepp_config( $api ); $self->init_query_param( $api ); $api->add_param( @_ ); $api->request(); $api; }
1;