récupérer des contacts depuis Net :: OAuth :: Simple make_restricted_request
-
23-12-2019 - |
Question
Je peux obtenir des jetons autorisés et même obtenir des résultats de make_restricted_request mais je ne peux pas interpréter les résultats.Ils sont tous comme - 13T01: 26: 56.834ZHTTP: //www.google.com/m8/feeds/contacts/usemail/base/12010-01-
Cependant, il semble qu'il s'agisse de résultats réels, il y a exactement autant de résultats que la valeur « résultats maximum » que je fournis dans la demande ci-dessous.
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 sortie est (100 lignes) comme :
$ Var1 = bénisse ({'_protoCol' => 'http / 1.1', '_content' => 'userEmail2014-02-27t02: 15: 52.254zuserNameUserremailntact10361100http: //www.google.com/m8/feeds/Contacts/userremail/ base / 02012-04-13t01: 26: 56.834zhttp: //www.google.com/m8/feeds/contacts/usemail/base/12010-01-21t19: 32: 41.739zhttp: //www.google.com/ M8 / Feeds / Contacts / Usemail / Base / 22008-04-09T08: 47: 53.076zhttp: //www.google.com/m8/feeds/contacts/usemail/base/32010-01-21t19: 32: 41.739zhttp: //www.google.com/m8/feeds/contacts/usemail/base/42008-04- ...
La solution
Le $response
retour de make_restricted_request
est un HTTP::Response
objet. Net::OAuth::Simple
vérifie déjà si la requête aboutit, vous pouvez donc accéder au contenu de la réponse en utilisant $response->content
ou $response->decoded_content
.