NAME
WebService::Hatena::Diary - A Perl Interface for Hatena::Diary AtomPub API
SYNOPSIS
my
$diary
= WebService::Hatena::Diary->new({
username
=>
$username
,
password
=>
$password
,
});
$diary
->ua->timeout(10)
# set ua option
# list
my
@entries
=
$diary
->list;
# create
my
$edit_uri
=
$diary
->create({
title
=>
$title
,
content
=>
$content
,
});
# create on specified date
$edit_uri
=
$diary
->create({
date
=>
$date
,
# YYYY-MM-DD
title
=>
$title
,
content
=>
$content
,
});
# retrieve
my
$entry
=
$diary
->retrieve(
$edit_uri
);
$entry
->{date};
$entry
->{title};
$entry
->{content};
$entry
->{hatena_syntax};
# update
$diary
->update(
$edit_uri
, {
title
=>
$new_title
,
content
=>
$new_content
,
});
# delete
$diary
->
delete
(
$edit_uri
);
# draft mode
$diary
= WebService::Hatena::Diary->new({
mode
=>
'draft'
,
username
=>
$username
,
password
=>
$password
,
});
# publish (draft mode only)
$diary
->publish(
$edit_uri
);
DESCRIPTION
WebService::Hatena::Diary is a simple wrapper of Hatena::Diary AtomPub API. This provides CRUD interfaces for Hatena::Diary and it's draft entries.
METHOD
new ( \%args )
my
$diary
= WebService::Hatena::Diary->new({
username
=>
$username
,
dusername
=>
$dusername
,
password
=>
$password
,
mode
=>
$mode
,
});
Create a WebService::Hatena::Diary object.
username
Your Hatena id.
dusername (Optional)
Diary name that you want to manipulate. Default is username.
password
Password for your Hatena id.
mode (Optional)
API mode (
blog
|draft
). Default isblog
.
ua
$diary
->ua;
Returns a UserAgent of this API.
errstr
$diary
->errstr;
Returns a error messages of the last error.
list
my
@entries
=
$diary
->list;
Returns a LIST of entries of the specified (blog|draft). Each entry has values blow as a HASH object:
edit_uri
Edit URI is a URI to identify a entry.
title
Title of a entry.
content
Content of a entry as a html format.
date
YYYY-MM-DD style date of a entry.
create ( \%args )
my
$edit_uri
=
$diary
->create({
title
=>
$title
,
content
=>
$content
,
date
=>
$date
,
});
Create a new entry of the specified (blog|draft). Returns Edit URI of a created entry if succeed.
You have to pass date
on a YYYY-MM-DD format.
retrieve ( $edit_uri )
my
$entry
=
$diary
->retrieve(
$edit_uri
);
Returns a entry specified by an Edit URI as a HASH object like below:
title
Title of a entry.
content
Content of a entry as a html format.
hatena_syntax
Content of a entry as a hatena syntax format.
date
YYYY-MM-DD style date of a entry.
update ( $edit_uri, \%args )
$diary
->update(
$edit_uri
, {
title
=>
$title
,
content
=>
$content
,
});
Update a entry specified by an Edit URI. Returns 1 if succeed.
delete ( $edit_uri )
$diary
->
delete
(
$edit_uri
);
Delete a entry specified by an Edit URI. Returns 1 if succeed.
publish ( $edit_uri )
$diary
->publish(
$edit_uri
);
Publish a draft entry specified by an Edit URI. Returns 1 if succeed.
If you publish a draft entry, the entry will be deleted from draft, and a new blog entry will be created.
DEVELOPMENT
If you want to see latest version of this module, please see https://github.com/hakobe/webservice-hatena-diary/tree
AUTHOR
Yohei Fushii <hakobe@gmail.com>
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.