NAME

Google::Ads::Common::OAuth2BaseHandler

DESCRIPTION

An abstract base implementation that defines part of the logic required to use OAuth2 against Google APIs.

It is meant to be specialized and its _scope, _refresh_access_token methods be properly implemented.

ATTRIBUTES

Each of these attributes can be set via Google::Ads::Common::OAuth2BaseHandler->new().

Alternatively, there is a get_ and set_ method associated with each attribute for retrieving or setting them dynamically.

my %api_client_of : ATTR(:name<api_client> :default<>); my %client_id_of : ATTR(:name<client_id> :default<>); my %access_token_of : ATTR(:init_arg<access_token> :default<>); my %access_token_expires_of : ATTR(:name<access_token_expires> :default<>);

api_client

A reference to the API client used to send requests.

client_id

OAuth2 client id obtained from the Google APIs Console.

access_token

Stores an OAuth2 access token after the authorization flow is followed or for you to manually set it in case you had it previously stored. If this is manually set this handler will verify its validity before preparing a request.

METHODS

initialize

Initializes the handler with properties such as the client_id and access_token.

Parameters

  • A required api_client with a reference to the API client object handling the requests against the API.

  • A hash reference with the following keys: { # Refer to the documentation of the client_id property. oAuth2ClientId => "consumer key", # Refer to the documentation of the client_secret property. oAuth2AccessToken => "secret", # Refer to the documentation of the refresh_token property. }

LICENSE AND COPYRIGHT

Copyright 2013 Google Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

REPOSITORY INFORMATION

$Rev: $
$LastChangedBy: $
$Id: $