Module: AdwordsApi::ApiConfig
- Extended by:
- AdsCommon::ApiConfig
- Defined in:
- lib/adwords_api/api_config.rb
Overview
Contains helper methods for loading and managing the available services.
Constant Summary collapse
- DEFAULT_VERSION =
Set defaults
:v201101
- DEFAULT_ENVIRONMENT =
:PRODUCTION
- LATEST_VERSION =
:v201101
- API_NAME =
Set other constants
'AdwordsApi'
- API_PATH =
'adwords_api'
- CLIENT_LIB_VERSION =
'0.2.0'
- DEFAULT_CONFIG_FILENAME =
'adwords_api.yml'
- @@service_config =
Configure the services available to each version
{ :v13 => [:AccountService, :ReportService, :TrafficEstimatorService], :v200909 => [:AdExtensionOverrideService, :AdGroupAdService, :AdGroupCriterionService, :AdGroupService, :AdParamService, :BulkMutateJobService, :CampaignAdExtensionService, :CampaignCriterionService, :CampaignService, :CampaignTargetService, :GeoLocationService, :InfoService, :TargetingIdeaService], :v201003 => [:AdExtensionOverrideService, :AdGroupAdService, :AdGroupCriterionService, :AdGroupService, :AdParamService, :BidLandscapeService, :BulkMutateJobService, :CampaignAdExtensionService, :CampaignCriterionService, :CampaignService, :CampaignTargetService, :GeoLocationService, :InfoService, :MediaService, :ReportDefinitionService, :TargetingIdeaService], :v201008 => [:AdExtensionOverrideService, :AdGroupAdService, :AdGroupCriterionService, :AdGroupService, :AdParamService, :AlertService, :BidLandscapeService, :BulkMutateJobService, :CampaignAdExtensionService, :CampaignCriterionService, :CampaignService, :CampaignTargetService, :CustomerSyncService, :ExperimentService, :GeoLocationService, :InfoService, :MediaService, :ReportDefinitionService, :ServicedAccountService, :TargetingIdeaService, :TrafficEstimatorService, :UserListService], :v201101 => [:AdExtensionOverrideService, :AdGroupAdService, :AdGroupCriterionService, :AdGroupService, :AdParamService, :AlertService, :BulkMutateJobService, :BulkOpportunityService, :CampaignAdExtensionService, :CampaignCriterionService, :CampaignService, :CampaignTargetService, :ConversionTrackerService, :CustomerSyncService, :DataService, :ExperimentService, :GeoLocationService, :InfoService, :MediaService, :ReportDefinitionService, :ServicedAccountService, :TargetingIdeaService, :TrafficEstimatorService, :UserListService] }
- @@environment_config =
Configure the different environments, with the base URL for each one
{ :PRODUCTION => { :v13 => 'https://adwords.google.com/api/adwords/', :v200909 => 'https://adwords.google.com/api/adwords/', :v201003 => 'https://adwords.google.com/api/adwords/', :v201008 => 'https://adwords.google.com/api/adwords/', :v201101 => 'https://adwords.google.com/api/adwords/' }, :SANDBOX => { :v13 => 'https://sandbox.google.com/api/adwords/', :v200909 => 'https://adwords-sandbox.google.com/api/adwords/', :v201003 => 'https://adwords-sandbox.google.com/api/adwords/', :v201008 => 'https://adwords-sandbox.google.com/api/adwords/', :v201101 => 'https://adwords-sandbox.google.com/api/adwords/' } }
- @@subdir_config =
Configure the subdirectories for each version / service pair. A missing pair means that only the base URL is used.
{ # v13 [:v13, :AccountService] => '', [:v13, :ReportService] => '', [:v13, :TrafficEstimatorService] => '', # v200909 [:v200909, :AdExtensionOverrideService] => 'cm/', [:v200909, :AdGroupAdService] => 'cm/', [:v200909, :AdGroupCriterionService] => 'cm/', [:v200909, :AdGroupService] => 'cm/', [:v200909, :AdParamService] => 'cm/', [:v200909, :BulkMutateJobService] => 'job/', [:v200909, :CampaignAdExtensionService] => 'cm/', [:v200909, :CampaignCriterionService] => 'cm/', [:v200909, :CampaignService] => 'cm/', [:v200909, :CampaignTargetService] => 'cm/', [:v200909, :GeoLocationService] => 'cm/', [:v200909, :InfoService] => 'info/', [:v200909, :TargetingIdeaService] => 'o/', # v201003 [:v201003, :AdExtensionOverrideService] => 'cm/', [:v201003, :AdGroupAdService] => 'cm/', [:v201003, :AdGroupCriterionService] => 'cm/', [:v201003, :AdGroupService] => 'cm/', [:v201003, :AdParamService] => 'cm/', [:v201003, :BidLandscapeService] => 'cm/', [:v201003, :BulkMutateJobService] => 'job/', [:v201003, :CampaignAdExtensionService] => 'cm/', [:v201003, :CampaignCriterionService] => 'cm/', [:v201003, :CampaignService] => 'cm/', [:v201003, :CampaignTargetService] => 'cm/', [:v201003, :GeoLocationService] => 'cm/', [:v201003, :InfoService] => 'info/', [:v201003, :MediaService] => 'cm/', [:v201003, :ReportDefinitionService] => 'cm/', [:v201003, :TargetingIdeaService] => 'o/', # v201008 [:v201008, :AdExtensionOverrideService] => 'cm/', [:v201008, :AdGroupAdService] => 'cm/', [:v201008, :AdGroupCriterionService] => 'cm/', [:v201008, :AdGroupService] => 'cm/', [:v201008, :AdParamService] => 'cm/', [:v201008, :AlertService] => 'mcm/', [:v201008, :BidLandscapeService] => 'cm/', [:v201008, :BulkMutateJobService] => 'job/', [:v201008, :CampaignAdExtensionService] => 'cm/', [:v201008, :CampaignCriterionService] => 'cm/', [:v201008, :CampaignService] => 'cm/', [:v201008, :CampaignTargetService] => 'cm/', [:v201008, :CustomerSyncService] => 'ch/', [:v201008, :ExperimentService] => 'cm/', [:v201008, :GeoLocationService] => 'cm/', [:v201008, :InfoService] => 'info/', [:v201008, :MediaService] => 'cm/', [:v201008, :ReportDefinitionService] => 'cm/', [:v201008, :ServicedAccountService] => 'mcm/', [:v201008, :TargetingIdeaService] => 'o/', [:v201008, :TrafficEstimatorService] => 'o/', [:v201008, :UserListService] => 'cm/', # v201101 [:v201101, :AdExtensionOverrideService] => 'cm/', [:v201101, :AdGroupAdService] => 'cm/', [:v201101, :AdGroupCriterionService] => 'cm/', [:v201101, :AdGroupService] => 'cm/', [:v201101, :AdParamService] => 'cm/', [:v201101, :AlertService] => 'mcm/', [:v201101, :BulkMutateJobService] => 'job/', [:v201101, :BulkOpportunityService] => 'o/', [:v201101, :CampaignAdExtensionService] => 'cm/', [:v201101, :CampaignCriterionService] => 'cm/', [:v201101, :CampaignService] => 'cm/', [:v201101, :CampaignTargetService] => 'cm/', [:v201101, :ConversionTrackerService] => 'cm/', [:v201101, :CustomerSyncService] => 'ch/', [:v201101, :DataService] => 'cm/', [:v201101, :ExperimentService] => 'cm/', [:v201101, :GeoLocationService] => 'cm/', [:v201101, :InfoService] => 'info/', [:v201101, :MediaService] => 'cm/', [:v201101, :ReportDefinitionService] => 'cm/', [:v201101, :ServicedAccountService] => 'mcm/', [:v201101, :TargetingIdeaService] => 'o/', [:v201101, :TrafficEstimatorService] => 'o/', [:v201101, :UserListService] => 'cm/' }
- @@auth_server_config =
Configure the auth servers to use for each environment
{ :PRODUCTION => 'https://www.google.com', :SANDBOX => 'https://www.google.com' }
- @@headers_config =
{ :REQUEST_HEADER => 'RequestHeader', :HEADER_NAMESPACE_PREAMBLE => 'https://adwords.google.com/api/adwords/cm/', :LOGIN_SERVICE_NAME => 'adwords' }
Class Method Summary collapse
- .api_name ⇒ Object
- .api_path ⇒ Object
- .auth_server_config ⇒ Object
- .default_config_filename ⇒ Object
- .default_environment ⇒ Object
-
.default_version ⇒ Object
Getters for constants and module variables.
- .environment_config ⇒ Object
- .headers_config ⇒ Object
-
.interface_name(version, service) ⇒ Object
Returns the full interface class name for a given service.
- .latest_version ⇒ Object
-
.report_download_url(environment, version) ⇒ Object
Get the download URL for reports.
- .service_config ⇒ Object
- .subdir_config ⇒ Object
Class Method Details
.api_name ⇒ Object
219 220 221 |
# File 'lib/adwords_api/api_config.rb', line 219 def self.api_name API_NAME end |
.api_path ⇒ Object
223 224 225 |
# File 'lib/adwords_api/api_config.rb', line 223 def self.api_path API_PATH end |
.auth_server_config ⇒ Object
239 240 241 |
# File 'lib/adwords_api/api_config.rb', line 239 def self.auth_server_config @@auth_server_config end |
.default_config_filename ⇒ Object
243 244 245 |
# File 'lib/adwords_api/api_config.rb', line 243 def self.default_config_filename DEFAULT_CONFIG_FILENAME end |
.default_environment ⇒ Object
211 212 213 |
# File 'lib/adwords_api/api_config.rb', line 211 def self.default_environment DEFAULT_ENVIRONMENT end |
.default_version ⇒ Object
Getters for constants and module variables.
207 208 209 |
# File 'lib/adwords_api/api_config.rb', line 207 def self.default_version DEFAULT_VERSION end |
.environment_config ⇒ Object
231 232 233 |
# File 'lib/adwords_api/api_config.rb', line 231 def self.environment_config @@environment_config end |
.headers_config ⇒ Object
247 248 249 |
# File 'lib/adwords_api/api_config.rb', line 247 def self.headers_config @@headers_config end |
.interface_name(version, service) ⇒ Object
Returns the full interface class name for a given service. Overriding this method from ads_common to fix odd behaviour with v13 class names.
Args:
-
version: the API version (as an integer)
-
service: the service name (as a string)
Returns: The full interface class name for the given service (as a string)
261 262 263 264 265 |
# File 'lib/adwords_api/api_config.rb', line 261 def self.interface_name(version, service) service_str = service.to_s service_str = service_str.sub(/Service$/, '') if version == :v13 return module_name(version, service) + "::#{service_str}Interface" end |
.latest_version ⇒ Object
215 216 217 |
# File 'lib/adwords_api/api_config.rb', line 215 def self.latest_version LATEST_VERSION end |
.report_download_url(environment, version) ⇒ Object
Get the download URL for reports.
Args:
-
environment: the service environment to be used (as a string)
-
version: the API version (as an integer)
Returns: The endpoint URL (as a string)
276 277 278 279 280 281 282 283 284 |
# File 'lib/adwords_api/api_config.rb', line 276 def self.report_download_url(environment, version) base = get_wsdl_base(environment, version) if base path = service_config[version].include?(:ReportDefinitionService) ? 'reportdownload' : nil base += path.to_s end return base end |
.service_config ⇒ Object
227 228 229 |
# File 'lib/adwords_api/api_config.rb', line 227 def self.service_config @@service_config end |
.subdir_config ⇒ Object
235 236 237 |
# File 'lib/adwords_api/api_config.rb', line 235 def self.subdir_config @@subdir_config end |