API-Google
view release on metacpan or search on metacpan
lib/API/Google.pm view on Meta::CPAN
warn "api_query() params : ".Dumper $params if $self->{debug};
$payload = { payload => $payload };
%$params = (%$params, %$payload);
my $tx = $self->build_http_transaction($params);
my $res = $self->{ua}->start($tx)->res->json;
# for future:
# if ( grep { $_->{message} eq 'Invalid Credentials' && $_->{reason} eq 'authError'} @{$res->{error}{errors}} ) { ... }
warn "First api_query() result : ".Dumper $res if $self->{debug};
if (defined $res->{error}) { # token expired error handling
my $attempt = 1;
while ($res->{error}{message} eq 'Invalid Credentials') {
if ($attempt == $self->{max_refresh_attempts}) {
last;
}
warn "Seems like access_token was expired. Attemptimg update it automatically ..." if $self->{debug};
$self->refresh_access_token_silent($params->{user});
$tx = $self->build_http_transaction($params);
$res = $self->{ua}->start($tx)->res->json;
$attempt++;
}
lib/API/Google/GCal.pm view on Meta::CPAN
if (!defined $params->{calendarId}) { die "No calendarId provided as parameter"}
if (!defined $params->{user}) { die "No user provided as parameter"}
my $res = $self->api_query({
method => 'get',
route => $self->{api_base}.'/calendars/'.$params->{calendarId}.'/events',
user => $params->{user}
});
if (defined $res->{items}) { return $res->{items} };
if (defined $res->{error}) { return $res };
};
1;
__END__
=pod
( run in 0.249 second using v1.01-cache-2.11-cpan-65fba6d93b7 )