【问题标题】:retrieving contacts from Net::OAuth::Simple make_restricted_request从 Net::OAuth::Simple make_restricted_request 检索联系人
【发布时间】:2016-12-27 16:49:55
【问题描述】:

我能够获得授权令牌,甚至可以从 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;

输出是(100 行),例如:

$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.739Zhttp://www.google.com/m8/feeds/contacts/userEMAIL/base/42008-04- ...

【问题讨论】:

    标签: perl google-oauth google-contacts-api


    【解决方案1】:

    make_restricted_request 返回的$response 是一个HTTP::Response 对象。 Net::OAuth::Simple 已经检查请求是否成功,因此您可以使用$response->content$response->decoded_content 访问响应的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多