Giter VIP home page Giter VIP logo

webservice-photozou's Introduction

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 <[email protected]>

    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

webservice-photozou's People

Contributors

spiritloose avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.