Re: api request

2016-10-12 Thread derrick
Hi,

Thank you for that detailed reply. 
Now that I know to look for post, it is explained well on metacpan.
Thank you again,

Derrick

In-Reply-To: 


On Wed, Oct 12, 2016 at 04:49:34PM +, Chas. Owens wrote:
> Looking at the documentation for curl, it says:
> 
> -d/--data 
> (HTTP) Sends the specified data in a POST request to the HTTP server, in
> the same way that a browser does when a user has filled in an HTML form and
> presses
> the submit button. This will cause curl to pass the data to the server
> using the content-type application/x-www-form-urlencoded. Compare to
> -F/--form.
> 
> -d/--data is the same as --data-ascii. To post data purely binary, you
> should instead use the --data-binary option. To URL-encode the value of a
> form field
> you may use --data-urlencode.
> 
> If any of these options is used more than once on the same command line,
> the data pieces specified will be merged together with a separating
> &-symbol. Thus,
> using ’-d name=daniel -d skill=lousy’ would generate a post chunk that
> looks like ’name=daniel&skill=lousy’.
> 
> If you start the data with the letter @, the rest should be a file name to
> read the data from, or - if you want curl to read the data from stdin. The
> con-
> tents of the file must already be URL-encoded. Multiple files can also be
> specified. Posting data from a file named ’foobar’ would thus be done with
> --data
> @foobar.
> 
> This means that the content-type header must be
> application/x-www-form-urlencoded and the parameters token, sync_token, and
> resource_types must be should be in the request body.
> 
> The documentation for LWP::UserAgent says:
> 
> $ua->post( $url, \%form )
> 
> This method will use the POST() function from HTTP::Request::Common to
> build the request. See HTTP::Request::Common
>  for a
> details on how to pass form content and other advanced features.
> 
> POST $url, $form_ref, Header => Value,...
> 
> The $form_ref argument can be used to pass key/value pairs for the form
> content. By default we will initialize a request using the
> application/x-www-form-urlencodedcontent type.
> 
> So, the following should be identical to what the curl command does:
> 
> #!/usr/bin/perl
> 
> use strict;
> use LWP::UserAgent;
> use warnings;
> 
> my $ua = LWP::UserAgent->new;
> 
> $ua->post("https://todoist.com/API/v7/sync";, {
> token => "yourtokengoeshere",
> sync_token => "*",
> resource_types => '["projects"]',
> });
> 
> die $ua->status_line unless $ua->is_success;
> 
> print $ua->decoded_content;
> 
> 
> On Wed, Oct 12, 2016 at 12:03 PM  wrote:
> 
> >
> >
> >
> >
> > I would like to get some info from my todoist account with a perl script.
> >
> > The website provides an example using python and bash.
> >
> > curl https://todoist.com/API/v7/sync -d token=yourtokengoeshere
> >-d sync_token='*' -d resource_types='["projects"]'
> >
> >
> >
> > The curl command works but I would like to use perl and make a todo list
> > script that will sync with todoist. There is a cpan module but it doesn't
> > work.
> >
> >
> >
> > How would I use perl to get the info? I have this
> >
> >
> >
> > #!/usr/bin/perl
> >
> > use strict;
> >
> > use warnings;
> >
> > use LWP::UserAgent;
> >
> >
> >
> > my $url = 'https://todoist.com/API/v7/sync';
> >
> > my $token  = 'mytoken';
> >
> > my $ua = new LWP::UserAgent();
> >
> > my $response = $ua->post($url, token => $token);
> >
> >
> >
> > I have no idea how to pass my token or resource types to the api.
> >
> > Thank you for any help
> >
> >
> >
> > --
> >
> > Derrick Cope
> >
> >
> >
> > --from my mutt
> >
> >
> >
> > --
> >
> > To unsubscribe, e-mail: beginners-unsubscr...@perl.org
> >
> > For additional commands, e-mail: beginners-h...@perl.org
> >
> > http://learn.perl.org/
> >
> >
> >
> >
> >
> >

-- 
Derrick Cope

--from my mutt

-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/




Re: api request

2016-10-12 Thread Chas. Owens
Looking at the documentation for curl, it says:

-d/--data 
(HTTP) Sends the specified data in a POST request to the HTTP server, in
the same way that a browser does when a user has filled in an HTML form and
presses
the submit button. This will cause curl to pass the data to the server
using the content-type application/x-www-form-urlencoded. Compare to
-F/--form.

-d/--data is the same as --data-ascii. To post data purely binary, you
should instead use the --data-binary option. To URL-encode the value of a
form field
you may use --data-urlencode.

If any of these options is used more than once on the same command line,
the data pieces specified will be merged together with a separating
&-symbol. Thus,
using ’-d name=daniel -d skill=lousy’ would generate a post chunk that
looks like ’name=daniel&skill=lousy’.

If you start the data with the letter @, the rest should be a file name to
read the data from, or - if you want curl to read the data from stdin. The
con-
tents of the file must already be URL-encoded. Multiple files can also be
specified. Posting data from a file named ’foobar’ would thus be done with
--data
@foobar.

This means that the content-type header must be
application/x-www-form-urlencoded and the parameters token, sync_token, and
resource_types must be should be in the request body.

The documentation for LWP::UserAgent says:

$ua->post( $url, \%form )

This method will use the POST() function from HTTP::Request::Common to
build the request. See HTTP::Request::Common
 for a
details on how to pass form content and other advanced features.

POST $url, $form_ref, Header => Value,...

The $form_ref argument can be used to pass key/value pairs for the form
content. By default we will initialize a request using the
application/x-www-form-urlencodedcontent type.

So, the following should be identical to what the curl command does:

#!/usr/bin/perl

use strict;
use LWP::UserAgent;
use warnings;

my $ua = LWP::UserAgent->new;

$ua->post("https://todoist.com/API/v7/sync";, {
token => "yourtokengoeshere",
sync_token => "*",
resource_types => '["projects"]',
});

die $ua->status_line unless $ua->is_success;

print $ua->decoded_content;


On Wed, Oct 12, 2016 at 12:03 PM  wrote:

>
>
>
>
> I would like to get some info from my todoist account with a perl script.
>
> The website provides an example using python and bash.
>
> curl https://todoist.com/API/v7/sync -d token=yourtokengoeshere
>-d sync_token='*' -d resource_types='["projects"]'
>
>
>
> The curl command works but I would like to use perl and make a todo list
> script that will sync with todoist. There is a cpan module but it doesn't
> work.
>
>
>
> How would I use perl to get the info? I have this
>
>
>
> #!/usr/bin/perl
>
> use strict;
>
> use warnings;
>
> use LWP::UserAgent;
>
>
>
> my $url = 'https://todoist.com/API/v7/sync';
>
> my $token  = 'mytoken';
>
> my $ua = new LWP::UserAgent();
>
> my $response = $ua->post($url, token => $token);
>
>
>
> I have no idea how to pass my token or resource types to the api.
>
> Thank you for any help
>
>
>
> --
>
> Derrick Cope
>
>
>
> --from my mutt
>
>
>
> --
>
> To unsubscribe, e-mail: beginners-unsubscr...@perl.org
>
> For additional commands, e-mail: beginners-h...@perl.org
>
> http://learn.perl.org/
>
>
>
>
>
>


api request

2016-10-12 Thread derrick


I would like to get some info from my todoist account with a perl script.
The website provides an example using python and bash.
curl https://todoist.com/API/v7/sync -d token=yourtokengoeshere -d 
sync_token='*' -d resource_types='["projects"]'

The curl command works but I would like to use perl and make a todo list script 
that will sync with todoist. There is a cpan module but it doesn't work.

How would I use perl to get the info? I have this

#!/usr/bin/perl
use strict;
use warnings;
use LWP::UserAgent;

my $url = 'https://todoist.com/API/v7/sync';
my $token  = 'mytoken';
my $ua = new LWP::UserAgent();
my $response = $ua->post($url, token => $token);

I have no idea how to pass my token or resource types to the api.
Thank you for any help

-- 
Derrick Cope

--from my mutt

-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/