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: $