NAME WebService::PhotoZou - Easy-to-use Interface for PhotoZou Web Services SYNOPSIS use WebService::PhotoZou; my $api = WebService::PhotoZou->new( username => $username, password => $password, site => 'jp', # if you use photozou.com, set 'com'. ); my $photo_id = $api->photo_add( photo => $filename, # required album_id => $album_id, # required photo_title => $title, tag => $tag, comment => $comment, date_type => 'date', # 'exif' or 'date' year => $year, # required when date_type is 'date' month => $month, # required when date_type is 'date' day => $day, # required when date_type is 'date' ) or die $api->errormsg; my $album_id = $api->photo_add_album( name => $name, # required description => $description, perm_type => 'allow', # 'allow' or 'deny' perm_type2 => 'user_group', # 'net' or 'everyone' or 'all or 'user_group' perm_id => $perm_id, # you can set it when you set perm_type2 'user_group' order_type => 'upload', # 'upload' or 'date' or 'comment' or 'file_name' copyright_type => 'normal', # 'normal' or 'creativecommons' copyright_commercial => 'yes', # 'yes' or 'no' copyright_modification => 'yes', # 'yes' or 'no' or 'share' ) or die $api->errormsg; my $albums = $api->photo_album or die $api->errormsg; for my $album (@{$albums}) { $album->{album_id}; $album->{user_id}; $album->{name}; $album->{description}; $album->{perm_type}; $album->{perm_type2}; $album->{perm_id}; $album->{order_type}; $album->{photo_num}; } my $photos = $api->search_public( type => 'photo', # 'photo' or 'video' or 'all' order_type => 'date', # 'date' or 'favorite' keyword => $keyword, copyright => 'normal', # 'normal' or 'creativecommons' or 'all' copyright_commercial => 'yes', # you can set 'yes' or 'no' when you set copyright 'creativecommons' copyright_modifications => 'yes', # you can set 'yes' or 'no' or 'share' when you set copyright 'creativecommons' limit => 1000, offset => 0, ) or die $api->errormsg; for my $photo (@{$photos}) { $photo->{photo_id}; $photo->{user_id}; $photo->{album_id}; $photo->{photo_title}; $photo->{favorite_num}; $photo->{comment_num}; $photo->{copyright}; $photo->{copyright_commercial}; $photo->{copyright_modifications}; $photo->{regist_time}; $photo->{url}; $photo->{image_url}; $photo->{original_image_url}; $photo->{thumbnail_image_url}; } my $groups = $api->user_group or die $api->errormsg; for my $group (@{$groups}) { $group->{group_id}; $group->{name}; $group->{user_num}; } DESCRIPTION This module priovides you an Object Oriented interface for PhotoZou Web Services. PhotoZou (http://photozou.jp/) is a Internet-based service that can easily share photo and album. METHODS All API methods returns undef on failure. You can get error objects by errors or get formatted message by errormsg. new([%options]) Returns an instance of this module. The following option can be set: username password site # 'jp' or 'com' ua([$ua]) Set or get an LWP::UserAgent instance. username([$username]) Accessor for username. password([$password]) Accessor for password. photo_add(%options) Add photo/movie. Returns added photo/movie's id. The following option can be set: photo # must be set filename. album_id # required photo_title tag comment date_type # 'exif' or 'date' year # required when date_type is 'date' month # required when date_type is 'date' day # required when date_type is 'date' See the official API documents about detail of options and return values. photo_add_album(%options) Add album. Returns added album's id. The following option can be set: name # required description perm_type # 'allow' or 'deny' perm_type2 # 'net' or 'everyone' or 'all or 'user_group' perm_id # you can set when you set perm_type2 'user_group' order_type # 'upload' or 'date' or 'comment' or 'file_name' copyright_type # 'normal' or 'creativecommons' copyright_commercial # 'yes' or 'no' copyright_modification # 'yes' or 'no' or 'share' photo_album Returns your albums list. The hashref contains the following fields: album_id user_id name description perm_type perm_type2 perm_id order_type photo_num search_public(%options) Search public photo/movie. The following option can be set: type # 'photo' or 'video' or 'all' order_type # 'date' or 'favorite' keyword copyright # 'normal' or 'creativecommons' or 'all' copyright_commercial # you can set 'yes' or 'no' when you set copyright 'creativecommons' copyright_modifications # you can set 'yes' or 'no' or 'share' when you set copyright 'creativecommons' limit offset Returns result objects as arrayref. The hashref contains the following fields: photo_id user_id album_id photo_title favorite_num comment_num copyright copyright_commercial copyright_modifications regist_time url image_url original_image_url thumbnail_image_url user_group Returns your user groups as arrayref. The hashref contains the following fields: group_id name user_num errors Returns hashref of error objects as arrayref. The hashref contains the following fields: code msg errormsg Returns formatted error message. nop API test method. AUTHOR Jiro Nishiguchi This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO * http://photozou.jp/ * http://photozou.jp/basic/api * http://photozou.com/ * http://photozou.com/basic/api