NAME
Google::Ads::GoogleAds::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 should be properly implemented.
ATTRIBUTES
Each of these attributes can be set via Google::Ads::GoogleAds::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 handle the API 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 the API client object and the properties such as 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.
{ clientId => "client-id", accessToken => "access-token" }
Refer to the documentation of the "client_id" and "access_token" properties.
prepare_request
Refer to Google::Ads::GoogleAds::Common::AuthHandlerInterface documentation of this method.
is_auth_enabled
Refer to Google::Ads::GoogleAds::Common::AuthHandlerInterface documentation of this method.
_scope
Meant to be implemented by a concrete class, which should return the required API scopes in an array for the OAuth2 protocol.
_refresh_access_token
Method called to refresh the stored OAuth2 access token. Implementors will issue an access token refresh request to the OAuth2 server.
LICENSE AND COPYRIGHT
Copyright 2019 Google LLC
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: $