NAME
Google::Ads::Common::OAuth2ServiceAccountsHandler
DESCRIPTION
A generic abstract implementation of Google::Ads::Common::OAuth2BaseHandler that supports OAuth2 for Service Accounts semantics.
It is meant to be specialized and its _scope and _formatted_scopes methods be properly implemented.
ATTRIBUTES
Each of these attributes can be set via Google::Ads::Common::OAuth2ServiceAccountsHandler->new().
Alternatively, there is a get_ and set_ method associated with each attribute for retrieving or setting them dynamically.
api_client
A reference to the API client used to send requests.
client_id
OAuth2 client id obtained from the Google APIs Console.
email_address
Service account email address as found in the Google API Console.
delegated_email_address
Delegated email address of the accounts that has access to the API.
pem_file
Private key PEM file path. Keep in mind that the Google API Console generates files in PKCS12 format and it should be converted to PEM format with no password for this module to function.
json_file
JOSN file path. This contains the private key and client id needed for authentication.
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.
additional_scopes
Stores additional OAuth2 scopes as a comma-separated string. The scope defines which services the tokens are allowed to access e.g. https://www.googleapis.com/auth/analytics
METHODS
initialize
Initializes the handler with properties for generating authorization requests.
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 (with this example being for a simple JSON keyfile): { # Refer to the documentation of the delegated_email_address property. oAuth2ServiceAccountDelegateEmailAddress => "delegated-email-address", # Refer to the documentation of the json_file property. oAuth2ServiceAccountJSONFile => "json-file-path", }
is_auth_enabled
Refer to Google::Ads::Common::AuthHandlerInterface documentation of this method.
prepare_request
Refer to Google::Ads::Common::AuthHandlerInterface documentation of this method.
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: $