-
-
24 Sep 2008 16:08:58 UTC
- Distribution: WebService-Hatena-Diary
- Module version: 0.01
- Source (raw)
- Browse (raw)
- Changes
- How to Contribute
- Issues
- Testers (360 / 10 / 0)
- Kwalitee
Bus factor: 0- 17.23% Coverage
- License: perl_5
- Activity
24 month- Tools
- Download (19.71KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
- Dependencies
- DateTime
- DateTime::Format::Strptime
- DateTime::Format::W3CDTF
- HTTP::Request
- XML::Atom
- and possibly others
- Reverse dependencies
- CPAN Testers List
- Dependency graph
NAME
WebService::Hatena::Diary - A Perl Interface for Hatena::Diary AtomPub API
SYNOPSIS
use WebService::Hatena::Diary; 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); print $entry->{date}; print $entry->{title}; print $entry->{content}; print $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.
SEE ALSO
Module Install Instructions
To install WebService::Hatena::Diary, copy and paste the appropriate command in to your terminal.
cpanm WebService::Hatena::Diary
perl -MCPAN -e shell install WebService::Hatena::Diary
For more information on module installation, please visit the detailed CPAN module installation guide.