recuperar contatos a partir de Net::OAuth::Simples make_restricted_request
-
23-12-2019 - |
Pergunta
Eu sou capaz de conseguir autorizado tokens e até mesmo obter resultados a partir de make_restricted_request mas eu não posso interpretar os resultados.Eles são similares- 13T01:26:56.834 Zhttp://www.o google.com/m8/feeds/contactos/userEMAIL/base/12010-01-
No entanto, parece que eles são reais resultados não são exatamente como o número de resultados como o 'max-results' valor de I fornecer no pedido abaixo.
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;
A saída é (100 linhas) como :
$VAR1 = abençoar( { '_protocol' => 'HTTP/1.1', '_content' = > 'userEMAIL2014-02-27T02:15:52.254ZuserNAMEuserEMAILContacts10361100http://www.google.com/m8/feeds/contacts/userEMAIL/base/02012-04-13T01:26:56.834 Zhttp://www.google.com/m8/feeds/contacts/userEMAIL/base/12010-01-21T19:32:41.739 Zhttp://www.google.com/m8/feeds/contacts/userEMAIL/base/22008-04-09T08:47:53.076 Zhttp://www.google.com/m8/feeds/contacts/userEMAIL/base/32010-01-21T19:32:41.739 Zhttp://www.google.com/m8/feeds/contacts/userEMAIL/base/42008-04- ...
Solução
O $response
devolvidos a partir de make_restricted_request
é um HTTP::Response
objecto. Net::OAuth::Simple
já verifica se a solicitação for bem-sucedida, então você pode acessar o conteúdo da resposta usando $response->content
ou $response->decoded_content
.