문제

나는 공인 된 토큰을 얻고 make_restricted_request에서 결과를 얻을 수 있지만 결과를 해석 할 수는 없습니다.그들은 모두처럼 - 13T01 : 26 : 56.834zhttp : //www.google.com/m8/feeds/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;
.

출력은 다음과 같습니다 :

$ var1= 축복 ({ '_protocol'=> 'http / 1.1', 'useremail2014-02.2.52.254-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 / 피드 / 연락처 / useremail / base / 22008-04-09t08 : 47 : 53.076zhttp : //www.google.com/m8/feeds/contacts/useremail/base/32010-01-21T19 : 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를 사용하여 응답의 내용에 액세스 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top