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 <jiro@cpan.org>
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