Hi,

I think you are missing the Content-Type and Authorization headers for
the GET:

Content-Type: application/x-www-form-urlencoded
Authorization: OAuth

If you want to use V2, you may also need the header:
GData-Version: 2

-Julian.

On Mar 31, 6:24 pm, Rex  Roof <[email protected]> wrote:
> I am attempting to get a list of Google Apps contacts for a migration
> tool written in Perl.  I have no problem processing a PUT request when
> making a new contact, but when I'm trying to process a GET request for
> a user I always get returned an "Authorization required" error.   This
> is not a web application, and I'm using two-legged authentication as
> an admin of my domain.
> Here is how I'm creating the request, using Net::OAuth:
>
>    my $url = "http://www.google.com/m8/feeds/contacts/$user_email/
> full";
>    my $time = time;
>    my $nonce = md5_hex("nonce_key".$time);
>
>    my $request = Net::OAuth->request('consumer')->new(
>                         consumer_key => $consumer_key,
>                         consumer_secret => $consumer_secret,
>                         request_url => $url,
>                         signature_method => 'HMAC-SHA1',
>                         request_method => 'GET',
>                         timestamp => $time,
>                         nonce => $nonce,
>                         extra_params =>  {
>                                 xoauth_requestor_id => $user_email,
>                                 'max-results' => 1000,
>                         },
>                        );
>    $request->sign;
>    my $lwp_request = GET $request->to_url;
>    my $response = $lwp_object->request($lwp_request);
>
> Here is code that does work, though, using a POST request.   very
> similar process:
>
>   my $cont_url = "http://www.google.com/m8/feeds/contacts/$user/full";;
>   my $time = time;
>   my $nonce = md5_hex("nonce_key".$time);
>   my $oauth_request = Net::OAuth->request('consumer')->new(
>           consumer_key => $consumer_key,
>           consumer_secret => $consumer_secret,
>           request_url => $cont_url,
>           request_method=>'POST',
>           signature_method => 'HMAC-SHA1',
>           timestamp => $time,
>           nonce => $nonce,
>           extra_params =>  {
>                  xoauth_requestor_id => $user,
>           },
>   );
>   $oauth_request->sign;
>   my $lwp_request = POST(
>                       $oauth_request->to_url,
>                       Content_Type => 'application/atom+xml',
>                       Content => $xml,
>                    );
>   my $response = $lwp_object->request( $lwp_request );
>
> Anyone see what I'm doing wrong?   I've never successfully done an
> OAuth GET request.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Contacts API" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/google-contacts-api?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to