从 Net::OAuth::Simple make_restricted_request 检索联系人
-
23-12-2019 - |
题
我能够获得授权令牌,甚至从 make_restricted_request 获得结果,但我无法解释结果。他们都喜欢-13T01:26:56.834zhttp://www.google.com/m8/feeds/contacts/contacts/useremail/base/12010-01--
然而,它们似乎是实际结果,结果与我在下面的请求中提供的“最大结果”值完全相同。
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;
输出为(100 行),如下所示:
美元base/02012-04-13T01:26:56.834zhttp://www.google.com/m8/feeds/contacts/contacts/contacts/useremail/base/12010-01-219:32:32:41.739zhttp:41.739zhttp:// M8/feeds/Contacts/useremail/base/22008-04-09T08:47:53.076zhttp://www.google.com/m8/feeds/feeds/contacts/contacts/contacts/useremail/base/32010-01-01-219:41-219:32:41.739zhttp: //www.google.com/m8/feeds/contacts/useremail/base/42008-04-- ...
解决方案
这 $response
从返回 make_restricted_request
是一个 HTTP::Response
目的。 Net::OAuth::Simple
已经检查请求是否成功,因此您可以使用以下方式访问响应的内容 $response->content
或者 $response->decoded_content
.