NAME Net::Delicious - OOP for the del.icio.us API SYNOPSIS use Net::Delicious; use Log::Dispatch::Screen; my $del = Net::Delicious->new({user=>"foo", pswd=>"bar"}); foreach my $p ($del->recent_posts()) { print $p->description()."\n"; } DESCRIPTION OOP for the del.icio.us API PACKAGE METHODS __PACKAGE__->new(\%args || Config::Simple) Arguments to the Net::Delicious object may be defined in one of three ways : As a single hash reference or; As a reference to a *Config::Simple* object; as a path to a file that may be read by the *Config::Simple*. The first option isn't going away any time soon but should be considered as deprecated. Valid hash reference arguments are : * user String. *required* Your del.icio.us username. * pswd String. *required* Your del.icio.us password. * updates String. The path to a directory where the timestamp for the last update to your bookmarks can be recorded. This is used by the *all_posts* method to prevent abusive requests. Default is the current user's home directory, followed by a temporary directory as determined by File::Temp. * debug Boolean. Add a *Log::Dispatch::Screen* dispatcher to log debug (and higher) notices. Notices will be printed to STDERR. *Config::Simple* options are expected to be grouped in a "block" labeled delicious. Valid options are : * user String. *required* Your del.icio.us username. * pswd String. *required* Your del.icio.us password. * updates String. The path to a directory where the timestamp for the last update to your bookmarks can be recorded. This is used by the *all_posts* method to prevent abusive requests. Default is the current user's home directory, followed by a temporary directory as determined by File::Temp. * debug Boolean. Add a *Log::Dispatch::Screen* dispatcher to log debug (and higher) notices. Notices will be printed to STDERR. Returns a Net::Delicious object or undef if there was a problem creating the object. OBJECT METHODS $obj->add_post(\%args) Makes a post to del.icio.us. Valid arguments are : * url String. *required* Url for post * description String. Description for post. * extended String. Extended for post. * tags String. Space-delimited list of tags. * dt String. Datestamp for post, format "CCYY-MM-DDThh:mm:ssZ" Returns true or false. $obj->delete_post(\%args) Delete a post from del.icio.us. Valid arguments are : * url String. *required* Returns true or false. $obj->posts_per_date(\%args) Get a list of dates with the number of posts at each date. Valid arguments are : * tag String. Filter by this tag. Returns a list of *Net::Delicious::Date* objects when called in an array context. Returns a *Net::Delicious::Iterator* object when called in a scalar context. $obj->recent_posts(\%args) Get a list of most recent posts, possibly filtered by tag. Valid arguments are : * tag String. Filter by this tag. * count Int. Number of posts to return. Default is 20; maximum is 100 Returns a list of *Net::Delicious::Post* objects when called in an array context. Returns a *Net::Delicious::Iterator* object when called in a scalar context. $obj->all_posts() Returns a list of *Net::Delicious::Post* objects when called in an array context. Returns a *Net::Delicious::Iterator* object when called in a scalar context. If no posts have been added between calls to this method, it will return an empty list (or undef if called in a scalar context.) $obj->all_posts_for_tag(\%args) This is a just a helper method which hides a bunch of API calls behind a single method. Valid arguments are : * tag String. *required* The tag you want to retrieve posts for. Returns a list of *Net::Delicious::Post* objects when called in an array context. Returns a *Net::Delicious::Iterator* object when called in a scalar context. $obj->update() Returns return the time of the last update formatted as a W3CDTF string. $obj->posts(\%args) Get a list of posts on a given date, filtered by tag. If no date is supplied, most recent date will be used. Valid arguments are : * tag String. Filter by this tag. * dt String. Filter by this date. Returns a list of *Net::Delicious::Post* objects when called in an array context. Returns a *Net::Delicious::Iterator* object when called in a scalar context. $obj->tags() Returns a list of tags. $obj->rename_tag(\%args) Renames tags across all posts. Valid arguments are : * old String. *required* Old tag * new String. *required* New tag Returns true or false. $obj->bundles() Returns a list of *Net::Delicious::Bundle* objects when called in an array context. Returns a *Net::Delicious::Iterator* object when called in a scalar context. $obj->set_bundle(\%args) Valid arguments are : * bundle String. *required* The name of the bundle to set. * tags String. *required* A space-separated list of tags. Returns true or false $obj->delete_bundle(\%args) Valid arguments are : * bundle String. *required* The name of the bundle to set Returns true or false $obj->inbox_for_date(\%args) This method is no longer part of the del.icio.us API. It will be removed from Net::Delicious in a subsequent release. $obj->inbox_dates() This method is no longer part of the del.icio.us API. It will be removed from Net::Delicious in a subsequent release. $obj->inbox_subscriptions() This method is no longer part of the del.icio.us API. It will be removed from Net::Delicious in a subsequent release. $obj->add_inbox_subscription(\%args) This method is no longer part of the del.icio.us API. It will be removed from Net::Delicious in a subsequent release. $obj->remove_inbox_subscription(\%args) This method is no longer part of the del.icio.us API. It will be removed from Net::Delicious in a subsequent release. $obj->logger() Returns a Log::Dispatch object. ERRORS Errors are logged via the object's *logger* method which returns a *Log::Dispatch* object. If you want to get at the errors it is up to you to provide it with a dispatcher. VERSION 0.96 DATE $Date: 2006/01/13 17:09:11 $ AUTHOR Aaron Straup Cope SEE ALSO http://del.icio.us/doc/api NOTES The version number (0.9) reflects the fact the del.icio.us API still has a great big "I am a moving target" disclaimer around its neck. This package implements the API in its entirety as of *DATE*. LICENSE Copyright (c) 2004-2006, Aaron Straup Cope. All Rights Reserved. This is free software, you may use it and distribute it under the same terms as Perl itself.