# NAME

WebService::Hatena::Fotolife - A Perl interface to the
Hatena::Fotolife Atom API

# SYNOPSIS

 use WebService::Hatena::Fotolife;

 my $fotolife = WebService::Hatena::Fotolife->new;
    $fotolife->username($username);
    $fotolife->password($password);

 # create a new entry with image filename
 my $EditURI = $fotolife->createEntry(
     title    => $title,
     filename => $filename,
     folder   => $folder,
 );

 # or specify the image source as a scalarref
 my $EditURI = $fotolife->createEntry(
     title     => $title,
     scalarref => \$image_content,
     folder    => $folder,
 );

 # update the entry
 $fotolife->updateEntry($EditURI, title => $title);

 # delete the entry
 $fotolife->deleteEntry($EditURI);

 # retrieve the feed
 my $feed = $fotolife->getFeed;
 my @entries = $feed->entries;
 ...

# DESCRIPTION

WebService::Hatena::Fotolife provides an interface to the
Hatena::Fotolife Atom API.

This module is a subclass of [XML::Atom::Client](http://search.cpan.org/perldoc?XML::Atom::Client), so see also the
documentation of the base class for more usage.

# METHODS

## new

 my $fotolife = WebService::Hatena::Fotolife->new;

Creates and returns a WebService::Hatena::Fotolife object.

## createEntry ( I<%param> )

 # passing an image by filename
 my $EditURI = $fotolife->createEntry(
     title    => $title,
     filename => $filename,
 );

 # or...

 # a scalar ref to the image content
 my $EditURI = $fotolife->createEntry(
     title     => $title,
     scalarref => $scalarref,
 );

Uploads given image to Hatena::Fotolife. Pass in the image source as a
filename or a scalarref to the image content. There're some more
options described below:

- * title

Title of the image.

- * filename

Local filename of the image.

- * scalarref

Scalar reference to the image content itself.

- * folder

Place, called "folder" in Hatena::Fotolife, you want to upload your
image.

- * generator

Specifies generator string. Hatena::Fotolife can handle your request
along with it. If not passed, the package name of this modules is
used.

## updateEntry ( I<$EditURI>, I<%param> )

 my $EditURI = $fotolife->updateEntry(
     $EditURI,
     title => $title,
 );

Updates the title of the entry at _$EditURI_ with given
options. Hatena::Fotolife Atom API currently doesn't support to update
the image content directly via Atom API.

## getFeed

 my $feed = $fotolife->getFeed;

Retrieves the feed. The count of the entries the _$feed_ includes
depends on your configuration of Hatena::Fotolife.

## use_soap ( I<[ 0 | 1 ]> )

## username ( [ I<$username ]> )

## password ( [ I<$password ]> )

## getEntry ( I<$EditURI> )

## deleteEntry ( I<$EditURI> )

See the documentation of the base class, [XML::Atom::Client](http://search.cpan.org/perldoc?XML::Atom::Client).

# SEE ALSO

- * Hatena::Fotolife

http://f.hatena.ne.jp/

- * Hatena::Fotolife API documentation

http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CA%A5%D5%A5%A9%A5%C8%A5%E9%A5%A4%A5%D5AtomAPI

- * [XML::Atom::Client](http://search.cpan.org/perldoc?XML::Atom::Client)

# AUTHOR

Kentaro Kuribayashi, <[email protected]>

# COPYRIGHT AND LICENSE

Copyright (C) 2005 - 2010 by Kentaro Kuribayashi

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.