Pregunta

Puedo obtener tokens autorizados e incluso obtener resultados de make_restricted_request pero no puedo interpretar los resultados.Todos son como: 13T01: 26: 56.834zhttp: //www.google.com/m8/feeds/contacts/useremail/base/12010-01-

Sin embargo, parece que son resultados reales; hay exactamente tantos resultados como el valor de 'resultados máximos' que proporciono en la solicitud a continuación.


package Net::AppThatUsesOAuth;

use strict;
use base qw(Net::OAuth::Simple);

sub new {
    my $class  = shift;
    my %tokens = @_;

    return $class->SUPER::new( tokens => \%tokens,
                               protocol_version => '1.0a',
                               urls   => {
                                    request_token_url => "https://www.google.com/accounts/OAuthGetRequestToken?scope=https://www.google.com/m8/feeds/",
                                    authorization_url => "https://www.google.com/accounts/OAuthAuthorizeToken",
                                    access_token_url  => "https://www.google.com/accounts/OAuthGetAccessToken",
                               });
}


sub view_restricted_resource {
    my $self = shift;
    my $url= 'https://www.google.com/m8/feeds/contacts/default/full' ;
    return $self->make_restricted_request($url, 'GET', 'max-results' => 100 );
}

package main;
use CGI;
use Data::Dumper;

my $cgi = new CGI;
print $cgi->header(-charset => 'utf-8');

my $app     = Net::AppThatUsesOAuth->new(%tokens);
if ($app->authorized) {
   my $response = $app->view_restricted_resource;
   print "Restricted resource = ".(Dumper $response)."\n";
}
exit;

La salida es (100 filas) como:

$ Var1 = bless ({'_protocol' => 'http/1.1', '_content' => 'userEmail2014-02-27t02: 15: 52.254zusernameUseremailcontacts10361100http: //www.google.com/m8/feeds/contacts/useremail/ base/02012-04-13T01: 26: 56.834zhttp: //www.google.com/m8/feeds/contacts/useremail/base/12010-01-21t19: 32: 41.739zhttp: //www.google.com/ M8/Feeds/Contacts/Useremail/Base/22008-04-09t08: 47: 53.076zhttp: //www.google.com/m8/feeds/contacts/useremail/base/32010-01-21t19: 32: 41.739zhtp: //www.google.com/m8/feeds/contacts/useremail/base/42008-04- ...

¿Fue útil?

Solución

El $response regresó de make_restricted_request es un HTTP::Response objeto. Net::OAuth::Simple ya comprueba si la solicitud es exitosa, por lo que puede acceder al contenido de la respuesta usando $response->content o $response->decoded_content.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top