Net-Todoist
view release on metacpan or search on metacpan
lib/Net/Todoist.pm view on Meta::CPAN
my $resp = $self->{ua}->post(
'https://todoist.com/API/query',
[
token => $self->{token},
queries => '[' . join( ',', @$queries ) . ']',
$args->{as_count} ? ( as_count => $args->{as_count} ) : (),
$args->{js_date} ? ( js_date => $args->{js_date} ) : (),
]
);
unless ( $resp->is_success ) {
$errstr = $resp->status_line;
return;
}
my $data = $self->{json}->decode( $resp->content );
return wantarray ? @$data : $data;
}
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
Net::Todoist - interface to the API for Todoist (a to-do list service)
=head1 VERSION
version 0.06
=head1 SYNOPSIS
use Net::Todoist;
my $nt = Net::Todoist->new( token => $token );
# or use login to get the token
my $nt = Net::Todoist->new();
my $user = $nt->login($email, $pass) or die "login failed: " . $nt->errstr;
# or use register to set the token
my $nt = Net::Todoist->new();
my $user = $nt->register(
email => $email,
full_name => 'Fayland Lam',
password => 'guessitplz',
timezone => "GMT +8:00"
) or die "Can't register: " . $nt->errstr;
## updateUser
=head1 DESCRIPTION
This module provide an interface to the API for the
L<Todoist|http://todoist.com/>.
Todoist is a to-do list service that can be accessed from
a web interface or dedicated desktop or mobile clients.
The basic service is free, but you can pay to get additional features.
Read L<http://todoist.com/API/help> for more details.
=head2 METHODS
=head3 CONSTRUCTION
my $nt = Net::Todoist->new( token => $token );
=over 4
=item * token (optional)
the API token from L<http://todoist.com>
=item * ua_args
passed to LWP::UserAgent
=item * ua
L<LWP::UserAgent> or L<WWW::Mechanize> instance
=back
=head3 login
my $user = $nt->login($email, $pass) or die "login failed: " . $nt->errstr;
you don't need call ->login if you pass the B<token> in the ->new
=head3 getTimezones
my @timezone = $nt->getTimezones();
Returns the timezones Todoist supports.
=head3 register
my $user = $nt->register(
email => $email,
full_name => 'Fayland Lam',
password => 'guessitplz',
timezone => "GMT +8:00"
) or die "Can't register: " . $nt->errstr;
=head3 updateUser
my $user = $nt->updateUser(
email => $email,
full_name => 'Fayland Lam',
password => 'guessitplz',
timezone => "GMT +8:00"
) or die "Can't update: " . $nt->errstr;
=head3 getProjects
my @projects = $nt->getProjects;
( run in 0.702 second using v1.01-cache-2.11-cpan-39bf76dae61 )