WWW::Instapaper::Client - An implementation of the Instapaper client API (see http://www.instapaper.com/api)
require WWW::Instapaper::Client; my $paper = WWW::Instapaper::Client->new( username => 'myname@mydomain.com', # E-mail OR username password => 'SooperSekrit', ); my $result = $paper->add( url => 'http://some.domain/path/to/page.html', title => "Page Title", # optional, will try to get automatically if not given selection => 'Some text on the page', #optional ); if (defined $result) { print "URL added: ", $result->[0], "\n"; # http://instapaper.com/go/###### print "Title: ", $result->[1], "\n"; # Title of page added } else { # Must be an error warn "Was error: " . $paper->error . "\n"; }
This module is an implementation of the Instapaper API.
new
my $paper = WWW::Instapaper::Client->new( %parameters );
Returns a new instance of this class, configured with the appropriate parameters. Dies if invalid parameters are provided.
Possible parameters are:
The user agent ("browser") the server will see. Defaults to WWW-Instapaper-Client/$VERSION.
WWW-Instapaper-Client/$VERSION
The Instapaper username. Often, but not always, an e-mail address. Defaults to $ENV{instapaper_user}
$ENV{instapaper_user}
The password for the user's Instapaper account. The user may not have a password, in which case, any value works. Defaults to $ENV{instapaper_pass}
$ENV{instapaper_pass}
The base URL for the Instapaper API. Defaults to https://www.instapaper.com/api. You shouldn't need to change this unless you're connecting to a non-Instapaper service that uses the same API.
https://www.instapaper.com/api
The path to an HTTPS-capable proxy, and the username and password as appropriate. The standard HTTP_PROXY set of environment variables will work here; these are widely documented. You only need to specify these if you have a proxy AND you don't have the environment variables set.
add
my $result = $paper->add( url => 'http://path.to/page', # required title => 'Page title', # optional selection => 'Text from page', # optional ); if (defined $result) { print "URL added: ", $result->[0], "\n"; # http://instapaper.com/go/###### print "Title: ", $result->[1], "\n"; # Title of page added } else { # Must be an error warn "Was error: " . $paper->error . "\n"; }
Adds the specified page URL to Instapaper. If a title is not provided, Instapaper will attempt to acquire the title by retrieving the page; that is, we set auto-title = 1 for the Instapaper API when a title is not provided.
auto-title = 1
You may optionally provide text that represents a selection from the page.
If successful, add will return an ARRAYref containing the Instapaper "go" URL, and the page title as recorded by Instapaper.
If an error is encountered, add returns undefined and the error message is available in $paper-error()>.
$paper-
authenticate
$paper->authenticate or warn "Could not authenticate: ".$paper->error."\n";
Authenticates the user to Instapaper. This is useful to check that the credentials are valid before e.g. storing them for later use.
If successful, authenticate will return a true value.
If an error is encountered, authenticate returns undefined and the error message is available in $paper-error()>.
Fixed dependency bug in Build.PL - forgot that Class::Base was required.
Darren Meyer - DPMEYER on PAUSE
(c) 2010 Darren Meyer (DPMEYER on PAUSE), and available under the same terms as Perl itself.
2 POD Errors
The following errors were encountered while parsing the POD:
'=item' outside of any '=over'
You forgot a '=back' before '=head1'
To install WWW::Instapaper::Client, copy and paste the appropriate command in to your terminal.
cpanm
cpanm WWW::Instapaper::Client
CPAN shell
perl -MCPAN -e shell install WWW::Instapaper::Client
For more information on module installation, please visit the detailed CPAN module installation guide.