Module: AdwordsApi::ApiConfig

Extended by:
AdsCommon::ApiConfig
Defined in:
lib/adwords_api/api_config.rb,
lib/adwords_api/version.rb

Overview

Contains helper methods for loading and managing the available services.

Constant Summary collapse

CLIENT_LIB_VERSION =
'1.1.0'
DEFAULT_VERSION =

Set defaults

:v201710
LATEST_VERSION =
:v201710
API_NAME =

Set other constants

'AdwordsApi'
DEFAULT_CONFIG_FILENAME =
'adwords_api.yml'
@@service_config =

Configure the services available to each version

{
  :v201705 => [
      :AccountLabelService,
      :AdCustomizerFeedService,
      :AdGroupAdService,
      :AdGroupBidModifierService,
      :AdGroupCriterionService,
      :AdGroupExtensionSettingService,
      :AdGroupFeedService,
      :AdGroupService,
      :AdParamService,
      :AdwordsUserListService,
      :BatchJobService,
      :BiddingStrategyService,
      :BudgetOrderService,
      :BudgetService,
      :CampaignBidModifierService,
      :CampaignCriterionService,
      :CampaignExtensionSettingService,
      :CampaignFeedService,
      :CampaignGroupService,
      :CampaignGroupPerformanceTargetService,
      :CampaignService,
      :CampaignSharedSetService,
      :ConstantDataService,
      :ConversionTrackerService,
      :CustomerExtensionSettingService,
      :CustomerFeedService,
      :CustomerService,
      :CustomerSyncService,
      :DataService,
      :DraftAsyncErrorService,
      :DraftService,
      :FeedItemService,
      :FeedMappingService,
      :FeedService,
      :LabelService,
      :LocationCriterionService,
      :ManagedCustomerService,
      :MediaService,
      :OfflineCallConversionFeedService,
      :OfflineConversionFeedService,
      :ReportDefinitionService,
      :SharedCriterionService,
      :SharedSetService,
      :TargetingIdeaService,
      :TrafficEstimatorService,
      :TrialAsyncErrorService,
      :TrialService
  ],
  :v201708 => [
      :AccountLabelService,
      :AdCustomizerFeedService,
      :AdGroupAdService,
      :AdGroupBidModifierService,
      :AdGroupCriterionService,
      :AdGroupExtensionSettingService,
      :AdGroupFeedService,
      :AdGroupService,
      :AdParamService,
      :AdwordsUserListService,
      :BatchJobService,
      :BiddingStrategyService,
      :BudgetOrderService,
      :BudgetService,
      :CampaignBidModifierService,
      :CampaignCriterionService,
      :CampaignExtensionSettingService,
      :CampaignFeedService,
      :CampaignGroupService,
      :CampaignGroupPerformanceTargetService,
      :CampaignService,
      :CampaignSharedSetService,
      :ConstantDataService,
      :ConversionTrackerService,
      :CustomerExtensionSettingService,
      :CustomerFeedService,
      :CustomerService,
      :CustomerSyncService,
      :DataService,
      :DraftAsyncErrorService,
      :DraftService,
      :FeedItemService,
      :FeedMappingService,
      :FeedService,
      :LabelService,
      :LocationCriterionService,
      :ManagedCustomerService,
      :MediaService,
      :OfflineCallConversionFeedService,
      :OfflineConversionFeedService,
      :OfflineDataUploadService,
      :ReportDefinitionService,
      :SharedCriterionService,
      :SharedSetService,
      :TargetingIdeaService,
      :TrafficEstimatorService,
      :TrialAsyncErrorService,
      :TrialService
  ],
  :v201710 => [
      :AccountLabelService,
      :AdCustomizerFeedService,
      :AdGroupAdService,
      :AdGroupBidModifierService,
      :AdGroupCriterionService,
      :AdGroupExtensionSettingService,
      :AdGroupFeedService,
      :AdGroupService,
      :AdParamService,
      :AdwordsUserListService,
      :BatchJobService,
      :BiddingStrategyService,
      :BudgetOrderService,
      :BudgetService,
      :CampaignBidModifierService,
      :CampaignCriterionService,
      :CampaignExtensionSettingService,
      :CampaignFeedService,
      :CampaignGroupService,
      :CampaignGroupPerformanceTargetService,
      :CampaignService,
      :CampaignSharedSetService,
      :ConstantDataService,
      :ConversionTrackerService,
      :CustomerExtensionSettingService,
      :CustomerFeedService,
      :CustomerNegativeCriterionService,
      :CustomerService,
      :CustomerSyncService,
      :DataService,
      :DraftAsyncErrorService,
      :DraftService,
      :FeedItemService,
      :FeedMappingService,
      :FeedService,
      :LabelService,
      :LocationCriterionService,
      :ManagedCustomerService,
      :MediaService,
      :OfflineCallConversionFeedService,
      :OfflineConversionFeedService,
      :OfflineDataUploadService,
      :ReportDefinitionService,
      :SharedCriterionService,
      :SharedSetService,
      :TargetingIdeaService,
      :TrafficEstimatorService,
      :TrialAsyncErrorService,
      :TrialService
  ]
}
@@config =

Configure the base URL for each version and scope.

{
  :oauth_scope => 'https://www.googleapis.com/auth/adwords',
  :header_ns => 'https://adwords.google.com/api/adwords/cm/',
  :v201705 => 'https://adwords.google.com/api/adwords/',
  :v201708 => 'https://adwords.google.com/api/adwords/',
  :v201710 => 'https://adwords.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.

{
  # v201705
  [:v201705, :AccountLabelService] => 'mcm/',
  [:v201705, :AdCustomizerFeedService] => 'cm/',
  [:v201705, :AdGroupAdService] => 'cm/',
  [:v201705, :AdGroupBidModifierService] => 'cm/',
  [:v201705, :AdGroupCriterionService] => 'cm/',
  [:v201705, :AdGroupExtensionSettingService] => 'cm/',
  [:v201705, :AdGroupFeedService] => 'cm/',
  [:v201705, :AdGroupService] => 'cm/',
  [:v201705, :AdParamService] => 'cm/',
  [:v201705, :AdwordsUserListService] => 'rm/',
  [:v201705, :BatchJobService] => 'cm/',
  [:v201705, :BiddingStrategyService] => 'cm/',
  [:v201705, :BudgetOrderService] => 'billing/',
  [:v201705, :BudgetService] => 'cm/',
  [:v201705, :CampaignBidModifierService] => 'cm/',
  [:v201705, :CampaignCriterionService] => 'cm/',
  [:v201705, :CampaignExtensionSettingService] => 'cm/',
  [:v201705, :CampaignFeedService] => 'cm/',
  [:v201705, :CampaignGroupService] => 'cm/',
  [:v201705, :CampaignGroupPerformanceTargetService] => 'cm/',
  [:v201705, :CampaignService] => 'cm/',
  [:v201705, :CampaignSharedSetService] => 'cm/',
  [:v201705, :ConstantDataService] => 'cm/',
  [:v201705, :ConversionTrackerService] => 'cm/',
  [:v201705, :CustomerExtensionSettingService] => 'cm/',
  [:v201705, :CustomerFeedService] => 'cm/',
  [:v201705, :CustomerService] => 'mcm/',
  [:v201705, :CustomerSyncService] => 'ch/',
  [:v201705, :DraftAsyncErrorService] => 'cm/',
  [:v201705, :DataService] => 'cm/',
  [:v201705, :DraftService] => 'cm/',
  [:v201705, :FeedItemService] => 'cm/',
  [:v201705, :FeedMappingService] => 'cm/',
  [:v201705, :FeedService] => 'cm/',
  [:v201705, :LabelService] => 'cm/',
  [:v201705, :LocationCriterionService] => 'cm/',
  [:v201705, :ManagedCustomerService] => 'mcm/',
  [:v201705, :MediaService] => 'cm/',
  [:v201705, :OfflineCallConversionFeedService] => 'cm/',
  [:v201705, :OfflineConversionFeedService] => 'cm/',
  [:v201705, :ReportDefinitionService] => 'cm/',
  [:v201705, :SharedCriterionService] => 'cm/',
  [:v201705, :SharedSetService] => 'cm/',
  [:v201705, :TargetingIdeaService] => 'o/',
  [:v201705, :TrafficEstimatorService] => 'o/',
  [:v201705, :TrialAsyncErrorService] => 'cm/',
  [:v201705, :TrialService] => 'cm/',
  # v201708
  [:v201708, :AccountLabelService] => 'mcm/',
  [:v201708, :AdCustomizerFeedService] => 'cm/',
  [:v201708, :AdGroupAdService] => 'cm/',
  [:v201708, :AdGroupBidModifierService] => 'cm/',
  [:v201708, :AdGroupCriterionService] => 'cm/',
  [:v201708, :AdGroupExtensionSettingService] => 'cm/',
  [:v201708, :AdGroupFeedService] => 'cm/',
  [:v201708, :AdGroupService] => 'cm/',
  [:v201708, :AdParamService] => 'cm/',
  [:v201708, :AdwordsUserListService] => 'rm/',
  [:v201708, :BatchJobService] => 'cm/',
  [:v201708, :BiddingStrategyService] => 'cm/',
  [:v201708, :BudgetOrderService] => 'billing/',
  [:v201708, :BudgetService] => 'cm/',
  [:v201708, :CampaignBidModifierService] => 'cm/',
  [:v201708, :CampaignCriterionService] => 'cm/',
  [:v201708, :CampaignExtensionSettingService] => 'cm/',
  [:v201708, :CampaignFeedService] => 'cm/',
  [:v201708, :CampaignGroupService] => 'cm/',
  [:v201708, :CampaignGroupPerformanceTargetService] => 'cm/',
  [:v201708, :CampaignService] => 'cm/',
  [:v201708, :CampaignSharedSetService] => 'cm/',
  [:v201708, :ConstantDataService] => 'cm/',
  [:v201708, :ConversionTrackerService] => 'cm/',
  [:v201708, :CustomerExtensionSettingService] => 'cm/',
  [:v201708, :CustomerFeedService] => 'cm/',
  [:v201708, :CustomerService] => 'mcm/',
  [:v201708, :CustomerSyncService] => 'ch/',
  [:v201708, :DraftAsyncErrorService] => 'cm/',
  [:v201708, :DataService] => 'cm/',
  [:v201708, :DraftService] => 'cm/',
  [:v201708, :FeedItemService] => 'cm/',
  [:v201708, :FeedMappingService] => 'cm/',
  [:v201708, :FeedService] => 'cm/',
  [:v201708, :LabelService] => 'cm/',
  [:v201708, :LocationCriterionService] => 'cm/',
  [:v201708, :ManagedCustomerService] => 'mcm/',
  [:v201708, :MediaService] => 'cm/',
  [:v201708, :OfflineCallConversionFeedService] => 'cm/',
  [:v201708, :OfflineConversionFeedService] => 'cm/',
  [:v201708, :OfflineDataUploadService] => 'rm/',
  [:v201708, :ReportDefinitionService] => 'cm/',
  [:v201708, :SharedCriterionService] => 'cm/',
  [:v201708, :SharedSetService] => 'cm/',
  [:v201708, :TargetingIdeaService] => 'o/',
  [:v201708, :TrafficEstimatorService] => 'o/',
  [:v201708, :TrialAsyncErrorService] => 'cm/',
  [:v201708, :TrialService] => 'cm/',
  # v201710
  [:v201710, :AccountLabelService] => 'mcm/',
  [:v201710, :AdCustomizerFeedService] => 'cm/',
  [:v201710, :AdGroupAdService] => 'cm/',
  [:v201710, :AdGroupBidModifierService] => 'cm/',
  [:v201710, :AdGroupCriterionService] => 'cm/',
  [:v201710, :AdGroupExtensionSettingService] => 'cm/',
  [:v201710, :AdGroupFeedService] => 'cm/',
  [:v201710, :AdGroupService] => 'cm/',
  [:v201710, :AdParamService] => 'cm/',
  [:v201710, :AdwordsUserListService] => 'rm/',
  [:v201710, :BatchJobService] => 'cm/',
  [:v201710, :BiddingStrategyService] => 'cm/',
  [:v201710, :BudgetOrderService] => 'billing/',
  [:v201710, :BudgetService] => 'cm/',
  [:v201710, :CampaignBidModifierService] => 'cm/',
  [:v201710, :CampaignCriterionService] => 'cm/',
  [:v201710, :CampaignExtensionSettingService] => 'cm/',
  [:v201710, :CampaignFeedService] => 'cm/',
  [:v201710, :CampaignGroupService] => 'cm/',
  [:v201710, :CampaignGroupPerformanceTargetService] => 'cm/',
  [:v201710, :CampaignService] => 'cm/',
  [:v201710, :CampaignSharedSetService] => 'cm/',
  [:v201710, :ConstantDataService] => 'cm/',
  [:v201710, :ConversionTrackerService] => 'cm/',
  [:v201710, :CustomerExtensionSettingService] => 'cm/',
  [:v201710, :CustomerFeedService] => 'cm/',
  [:v201710, :CustomerNegativeCriterionService] => 'cm/',
  [:v201710, :CustomerService] => 'mcm/',
  [:v201710, :CustomerSyncService] => 'ch/',
  [:v201710, :DraftAsyncErrorService] => 'cm/',
  [:v201710, :DataService] => 'cm/',
  [:v201710, :DraftService] => 'cm/',
  [:v201710, :FeedItemService] => 'cm/',
  [:v201710, :FeedMappingService] => 'cm/',
  [:v201710, :FeedService] => 'cm/',
  [:v201710, :LabelService] => 'cm/',
  [:v201710, :LocationCriterionService] => 'cm/',
  [:v201710, :ManagedCustomerService] => 'mcm/',
  [:v201710, :MediaService] => 'cm/',
  [:v201710, :OfflineCallConversionFeedService] => 'cm/',
  [:v201710, :OfflineConversionFeedService] => 'cm/',
  [:v201710, :OfflineDataUploadService] => 'rm/',
  [:v201710, :ReportDefinitionService] => 'cm/',
  [:v201710, :SharedCriterionService] => 'cm/',
  [:v201710, :SharedSetService] => 'cm/',
  [:v201710, :TargetingIdeaService] => 'o/',
  [:v201710, :TrafficEstimatorService] => 'o/',
  [:v201710, :TrialAsyncErrorService] => 'cm/',
  [:v201710, :TrialService] => 'cm/'
}

Class Method Summary collapse

Class Method Details

.adhoc_report_download_url(version) ⇒ Object

Get the download URL for Ad Hoc reports.

Args:

  • version: the API version (as a symbol)

Returns:

  • The endpoint URL (as a string)



401
402
403
404
405
406
407
# File 'lib/adwords_api/api_config.rb', line 401

def self.adhoc_report_download_url(version)
  base = get_wsdl_base(version)
  if base
    base += 'reportdownload/%s' % version.to_s
  end
  return base
end

.api_nameObject



369
370
371
# File 'lib/adwords_api/api_config.rb', line 369

def self.api_name
  API_NAME
end

.config(key) ⇒ Object



377
378
379
# File 'lib/adwords_api/api_config.rb', line 377

def self.config(key)
  @@config[key]
end

.default_config_filenameObject



385
386
387
# File 'lib/adwords_api/api_config.rb', line 385

def self.default_config_filename
  DEFAULT_CONFIG_FILENAME
end

.default_versionObject

Getters for constants and module variables.



361
362
363
# File 'lib/adwords_api/api_config.rb', line 361

def self.default_version
  DEFAULT_VERSION
end

.headers_configObject



389
390
391
# File 'lib/adwords_api/api_config.rb', line 389

def self.headers_config
  @@headers_config
end

.latest_versionObject



365
366
367
# File 'lib/adwords_api/api_config.rb', line 365

def self.latest_version
  LATEST_VERSION
end

.service_configObject



373
374
375
# File 'lib/adwords_api/api_config.rb', line 373

def self.service_config
  @@service_config
end

.subdir_configObject



381
382
383
# File 'lib/adwords_api/api_config.rb', line 381

def self.subdir_config
  @@subdir_config
end