Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A Perl Interface to Hatena::Fotolife AtomAPI
Branch: master

Checking in changes prior to tagging of version 0.07.

Changelog diff is:

diff --git a/Changes b/Changes
index 63107f0..722272a 100644
--- a/Changes
+++ b/Changes
@@ -1,5 +1,8 @@
 Revision history for Perl extension WebService::Hatena::Fotolife.

+0.07  Wed Oct 8 2013
+      - added OAuth API support (thanks to id:wakabatan)
 0.06  Tue Jul 24 2012
       - fixed a bug when file_media_type contains arrayref of mime types
latest commit 5b6e5e9871
@kentaro authored



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


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; ...


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

This module is a subclass of XML::Atom::Client, so see also the documentation of the base class for more usage.



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.


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.


  • * Hatena::Fotolife

  • * Hatena::Fotolife API documentation


Kentaro Kuribayashi,


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.

Something went wrong with that request. Please try again.