google-dfp-api 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +7 -1
- data/README +11 -11
- data/Rakefile +13 -11
- data/examples/v201103/common/error_handling.rb +76 -0
- data/examples/v201103/company_service/create_companies.rb +82 -0
- data/examples/v201103/company_service/get_all_companies.rb +92 -0
- data/examples/v201103/company_service/get_companies_by_statement.rb +88 -0
- data/examples/v201103/company_service/get_company.rb +72 -0
- data/examples/v201103/company_service/update_companies.rb +95 -0
- data/examples/v201103/creative_service/copy_image_creatives.rb +117 -0
- data/examples/v201103/creative_service/create_creatives.rb +109 -0
- data/examples/v201103/creative_service/get_all_creatives.rb +93 -0
- data/examples/v201103/creative_service/get_creative.rb +72 -0
- data/examples/v201103/creative_service/get_creatives_by_statement.rb +87 -0
- data/examples/v201103/creative_service/update_creatives.rb +98 -0
- data/examples/v201103/custom_targeting_service/create_custom_targeting_keys_and_values.rb +118 -0
- data/examples/v201103/custom_targeting_service/delete_custom_targeting_keys.rb +121 -0
- data/examples/v201103/custom_targeting_service/delete_custom_targeting_values.rb +125 -0
- data/examples/v201103/custom_targeting_service/get_all_custom_targeting_keys_and_values.rb +148 -0
- data/examples/v201103/custom_targeting_service/get_custom_targeting_keys_by_statement.rb +92 -0
- data/examples/v201103/custom_targeting_service/get_custom_targeting_values_by_statement.rb +98 -0
- data/examples/v201103/custom_targeting_service/update_custom_targeting_keys.rb +94 -0
- data/examples/v201103/custom_targeting_service/update_custom_targeting_values.rb +106 -0
- data/examples/v201103/forecast_service/get_forecast.rb +103 -0
- data/examples/v201103/forecast_service/get_forecast_by_id.rb +80 -0
- data/examples/v201103/inventory_service/create_ad_units.rb +98 -0
- data/examples/v201103/inventory_service/deactivate_ad_units.rb +119 -0
- data/examples/v201103/inventory_service/get_ad_unit.rb +72 -0
- data/examples/v201103/inventory_service/get_ad_units_by_statement.rb +96 -0
- data/examples/v201103/inventory_service/get_all_ad_units.rb +93 -0
- data/examples/v201103/inventory_service/update_ad_units.rb +94 -0
- data/examples/v201103/line_item_creative_association_service/create_licas.rb +94 -0
- data/examples/v201103/line_item_creative_association_service/deactivate_licas.rb +127 -0
- data/examples/v201103/line_item_creative_association_service/get_all_licas.rb +95 -0
- data/examples/v201103/line_item_creative_association_service/get_lica.rb +77 -0
- data/examples/v201103/line_item_creative_association_service/get_licas_by_statement.rb +91 -0
- data/examples/v201103/line_item_creative_association_service/update_licas.rb +92 -0
- data/examples/v201103/line_item_service/activate_line_items.rb +131 -0
- data/examples/v201103/line_item_service/create_line_items.rb +165 -0
- data/examples/v201103/line_item_service/get_all_line_items.rb +94 -0
- data/examples/v201103/line_item_service/get_line_item.rb +74 -0
- data/examples/v201103/line_item_service/get_line_items_by_statement.rb +89 -0
- data/examples/v201103/line_item_service/target_custom_criteria.rb +135 -0
- data/examples/v201103/line_item_service/update_line_items.rb +110 -0
- data/examples/v201103/network_service/get_all_networks.rb +74 -0
- data/examples/v201103/network_service/get_current_network.rb +66 -0
- data/examples/v201103/order_service/approve_orders.rb +116 -0
- data/examples/v201103/order_service/create_orders.rb +93 -0
- data/examples/v201103/order_service/get_all_orders.rb +93 -0
- data/examples/v201103/order_service/get_order.rb +74 -0
- data/examples/v201103/order_service/get_orders_by_statement.rb +90 -0
- data/examples/v201103/order_service/update_orders.rb +95 -0
- data/examples/v201103/placement_service/create_placements.rb +128 -0
- data/examples/v201103/placement_service/deactivate_placements.rb +118 -0
- data/examples/v201103/placement_service/get_all_placements.rb +93 -0
- data/examples/v201103/placement_service/get_placement.rb +74 -0
- data/examples/v201103/placement_service/get_placements_by_statement.rb +86 -0
- data/examples/v201103/placement_service/update_placements.rb +96 -0
- data/examples/v201103/publisher_query_language_service/get_all_cities.rb +85 -0
- data/examples/v201103/publisher_query_language_service/get_all_countries.rb +85 -0
- data/examples/v201103/publisher_query_language_service/get_all_metros.rb +85 -0
- data/examples/v201103/publisher_query_language_service/get_all_regions.rb +85 -0
- data/examples/v201103/report_service/download_report.rb +81 -0
- data/examples/v201103/report_service/run_delivery_report.rb +89 -0
- data/examples/v201103/report_service/run_inventory_report.rb +90 -0
- data/examples/v201103/report_service/run_sales_report.rb +89 -0
- data/examples/v201103/user_service/create_users.rb +89 -0
- data/examples/v201103/user_service/deactivate_users.rb +99 -0
- data/examples/v201103/user_service/get_all_roles.rb +73 -0
- data/examples/v201103/user_service/get_all_users.rb +92 -0
- data/examples/v201103/user_service/get_user.rb +73 -0
- data/examples/v201103/user_service/get_users_by_statement.rb +79 -0
- data/examples/v201103/user_service/update_users.rb +89 -0
- data/examples/v201104/common/error_handling.rb +76 -0
- data/examples/v201104/company_service/create_companies.rb +82 -0
- data/examples/v201104/company_service/get_all_companies.rb +92 -0
- data/examples/v201104/company_service/get_companies_by_statement.rb +88 -0
- data/examples/v201104/company_service/get_company.rb +72 -0
- data/examples/v201104/company_service/update_companies.rb +95 -0
- data/examples/v201104/creative_service/copy_image_creatives.rb +117 -0
- data/examples/v201104/creative_service/create_creatives.rb +109 -0
- data/examples/v201104/creative_service/get_all_creatives.rb +93 -0
- data/examples/v201104/creative_service/get_creative.rb +72 -0
- data/examples/v201104/creative_service/get_creatives_by_statement.rb +87 -0
- data/examples/v201104/creative_service/update_creatives.rb +98 -0
- data/examples/v201104/custom_targeting_service/create_custom_targeting_keys_and_values.rb +118 -0
- data/examples/v201104/custom_targeting_service/delete_custom_targeting_keys.rb +121 -0
- data/examples/v201104/custom_targeting_service/delete_custom_targeting_values.rb +125 -0
- data/examples/v201104/custom_targeting_service/get_all_custom_targeting_keys_and_values.rb +148 -0
- data/examples/v201104/custom_targeting_service/get_custom_targeting_keys_by_statement.rb +92 -0
- data/examples/v201104/custom_targeting_service/get_custom_targeting_values_by_statement.rb +98 -0
- data/examples/v201104/custom_targeting_service/update_custom_targeting_keys.rb +94 -0
- data/examples/v201104/custom_targeting_service/update_custom_targeting_values.rb +106 -0
- data/examples/v201104/forecast_service/get_forecast.rb +103 -0
- data/examples/v201104/forecast_service/get_forecast_by_id.rb +80 -0
- data/examples/v201104/inventory_service/create_ad_units.rb +98 -0
- data/examples/v201104/inventory_service/deactivate_ad_units.rb +119 -0
- data/examples/v201104/inventory_service/get_ad_unit.rb +72 -0
- data/examples/v201104/inventory_service/get_ad_units_by_statement.rb +96 -0
- data/examples/v201104/inventory_service/get_all_ad_units.rb +93 -0
- data/examples/v201104/inventory_service/update_ad_units.rb +94 -0
- data/examples/v201104/line_item_creative_association_service/create_licas.rb +94 -0
- data/examples/v201104/line_item_creative_association_service/deactivate_licas.rb +127 -0
- data/examples/v201104/line_item_creative_association_service/get_all_licas.rb +95 -0
- data/examples/v201104/line_item_creative_association_service/get_lica.rb +77 -0
- data/examples/v201104/line_item_creative_association_service/get_licas_by_statement.rb +91 -0
- data/examples/v201104/line_item_creative_association_service/update_licas.rb +92 -0
- data/examples/v201104/line_item_service/activate_line_items.rb +131 -0
- data/examples/v201104/line_item_service/create_line_items.rb +157 -0
- data/examples/v201104/line_item_service/get_all_line_items.rb +94 -0
- data/examples/v201104/line_item_service/get_line_item.rb +74 -0
- data/examples/v201104/line_item_service/get_line_items_by_statement.rb +89 -0
- data/examples/v201104/line_item_service/target_custom_criteria.rb +129 -0
- data/examples/v201104/line_item_service/update_line_items.rb +110 -0
- data/examples/v201104/network_service/get_all_networks.rb +74 -0
- data/examples/v201104/network_service/get_current_network.rb +66 -0
- data/examples/v201104/order_service/approve_orders.rb +116 -0
- data/examples/v201104/order_service/create_orders.rb +93 -0
- data/examples/v201104/order_service/get_all_orders.rb +93 -0
- data/examples/v201104/order_service/get_order.rb +74 -0
- data/examples/v201104/order_service/get_orders_by_statement.rb +90 -0
- data/examples/v201104/order_service/update_orders.rb +95 -0
- data/examples/v201104/placement_service/create_placements.rb +128 -0
- data/examples/v201104/placement_service/deactivate_placements.rb +118 -0
- data/examples/v201104/placement_service/get_all_placements.rb +93 -0
- data/examples/v201104/placement_service/get_placement.rb +74 -0
- data/examples/v201104/placement_service/get_placements_by_statement.rb +86 -0
- data/examples/v201104/placement_service/update_placements.rb +96 -0
- data/examples/v201104/publisher_query_language_service/get_all_cities.rb +85 -0
- data/examples/v201104/publisher_query_language_service/get_all_countries.rb +85 -0
- data/examples/v201104/publisher_query_language_service/get_all_metros.rb +85 -0
- data/examples/v201104/publisher_query_language_service/get_all_regions.rb +85 -0
- data/examples/v201104/report_service/download_report.rb +81 -0
- data/examples/v201104/report_service/run_delivery_report.rb +89 -0
- data/examples/v201104/report_service/run_inventory_report.rb +90 -0
- data/examples/v201104/report_service/run_sales_report.rb +89 -0
- data/examples/v201104/user_service/create_users.rb +89 -0
- data/examples/v201104/user_service/deactivate_users.rb +99 -0
- data/examples/v201104/user_service/get_all_roles.rb +73 -0
- data/examples/v201104/user_service/get_all_users.rb +92 -0
- data/examples/v201104/user_service/get_user.rb +73 -0
- data/examples/v201104/user_service/get_users_by_statement.rb +79 -0
- data/examples/v201104/user_service/update_users.rb +89 -0
- data/lib/dfp_api.rb +32 -45
- data/lib/dfp_api/api_config.rb +30 -7
- data/lib/dfp_api/v201101/company_service.rb +9 -9
- data/lib/dfp_api/v201101/company_service_registry.rb +3 -3
- data/lib/dfp_api/v201101/creative_service.rb +9 -9
- data/lib/dfp_api/v201101/creative_service_registry.rb +3 -3
- data/lib/dfp_api/v201101/custom_targeting_service.rb +9 -9
- data/lib/dfp_api/v201101/custom_targeting_service_registry.rb +3 -3
- data/lib/dfp_api/v201101/forecast_service.rb +5 -5
- data/lib/dfp_api/v201101/forecast_service_registry.rb +3 -3
- data/lib/dfp_api/v201101/inventory_service.rb +13 -13
- data/lib/dfp_api/v201101/inventory_service_registry.rb +3 -3
- data/lib/dfp_api/v201101/line_item_creative_association_service.rb +5 -5
- data/lib/dfp_api/v201101/line_item_creative_association_service_registry.rb +3 -3
- data/lib/dfp_api/v201101/line_item_service.rb +13 -13
- data/lib/dfp_api/v201101/line_item_service_registry.rb +3 -3
- data/lib/dfp_api/v201101/network_service.rb +5 -5
- data/lib/dfp_api/v201101/network_service_registry.rb +3 -3
- data/lib/dfp_api/v201101/order_service.rb +13 -13
- data/lib/dfp_api/v201101/order_service_registry.rb +3 -3
- data/lib/dfp_api/v201101/placement_service.rb +9 -9
- data/lib/dfp_api/v201101/placement_service_registry.rb +3 -3
- data/lib/dfp_api/v201101/publisher_query_language_service.rb +1 -1
- data/lib/dfp_api/v201101/publisher_query_language_service_registry.rb +3 -3
- data/lib/dfp_api/v201101/report_service.rb +5 -5
- data/lib/dfp_api/v201101/report_service_registry.rb +3 -3
- data/lib/dfp_api/v201101/user_service.rb +17 -17
- data/lib/dfp_api/v201101/user_service_registry.rb +3 -3
- data/lib/dfp_api/v201103/company_service.rb +52 -0
- data/lib/dfp_api/v201103/company_service_registry.rb +37 -0
- data/lib/dfp_api/v201103/creative_service.rb +52 -0
- data/lib/dfp_api/v201103/creative_service_registry.rb +37 -0
- data/lib/dfp_api/v201103/custom_targeting_service.rb +60 -0
- data/lib/dfp_api/v201103/custom_targeting_service_registry.rb +37 -0
- data/lib/dfp_api/v201103/forecast_service.rb +36 -0
- data/lib/dfp_api/v201103/forecast_service_registry.rb +37 -0
- data/lib/dfp_api/v201103/inventory_service.rb +56 -0
- data/lib/dfp_api/v201103/inventory_service_registry.rb +37 -0
- data/lib/dfp_api/v201103/line_item_creative_association_service.rb +56 -0
- data/lib/dfp_api/v201103/line_item_creative_association_service_registry.rb +37 -0
- data/lib/dfp_api/v201103/line_item_service.rb +56 -0
- data/lib/dfp_api/v201103/line_item_service_registry.rb +37 -0
- data/lib/dfp_api/v201103/network_service.rb +40 -0
- data/lib/dfp_api/v201103/network_service_registry.rb +37 -0
- data/lib/dfp_api/v201103/order_service.rb +56 -0
- data/lib/dfp_api/v201103/order_service_registry.rb +37 -0
- data/lib/dfp_api/v201103/placement_service.rb +56 -0
- data/lib/dfp_api/v201103/placement_service_registry.rb +37 -0
- data/lib/dfp_api/v201103/publisher_query_language_service.rb +32 -0
- data/lib/dfp_api/v201103/publisher_query_language_service_registry.rb +37 -0
- data/lib/dfp_api/v201103/report_service.rb +40 -0
- data/lib/dfp_api/v201103/report_service_registry.rb +37 -0
- data/lib/dfp_api/v201103/user_service.rb +60 -0
- data/lib/dfp_api/v201103/user_service_registry.rb +37 -0
- data/lib/dfp_api/v201104/company_service.rb +52 -0
- data/lib/dfp_api/v201104/company_service_registry.rb +37 -0
- data/lib/dfp_api/v201104/creative_service.rb +52 -0
- data/lib/dfp_api/v201104/creative_service_registry.rb +37 -0
- data/lib/dfp_api/v201104/custom_targeting_service.rb +60 -0
- data/lib/dfp_api/v201104/custom_targeting_service_registry.rb +37 -0
- data/lib/dfp_api/v201104/forecast_service.rb +36 -0
- data/lib/dfp_api/v201104/forecast_service_registry.rb +37 -0
- data/lib/dfp_api/v201104/inventory_service.rb +56 -0
- data/lib/dfp_api/v201104/inventory_service_registry.rb +37 -0
- data/lib/dfp_api/v201104/line_item_creative_association_service.rb +56 -0
- data/lib/dfp_api/v201104/line_item_creative_association_service_registry.rb +37 -0
- data/lib/dfp_api/v201104/line_item_service.rb +56 -0
- data/lib/dfp_api/v201104/line_item_service_registry.rb +37 -0
- data/lib/dfp_api/v201104/network_service.rb +40 -0
- data/lib/dfp_api/v201104/network_service_registry.rb +37 -0
- data/lib/dfp_api/v201104/order_service.rb +56 -0
- data/lib/dfp_api/v201104/order_service_registry.rb +37 -0
- data/lib/dfp_api/v201104/placement_service.rb +56 -0
- data/lib/dfp_api/v201104/placement_service_registry.rb +37 -0
- data/lib/dfp_api/v201104/publisher_query_language_service.rb +32 -0
- data/lib/dfp_api/v201104/publisher_query_language_service_registry.rb +37 -0
- data/lib/dfp_api/v201104/report_service.rb +40 -0
- data/lib/dfp_api/v201104/report_service_registry.rb +37 -0
- data/lib/dfp_api/v201104/user_service.rb +60 -0
- data/lib/dfp_api/v201104/user_service_registry.rb +37 -0
- data/test/bugs/test_issue_00000016.rb +154 -0
- data/test/dfp_api/test_dfp_api.rb +64 -0
- metadata +248 -53
data/lib/dfp_api.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
#
|
3
3
|
# Authors:: api.dklimkin@gmail.com (Danial Klimkin)
|
4
4
|
#
|
5
|
-
# Copyright:: Copyright
|
5
|
+
# Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
|
6
6
|
#
|
7
7
|
# License:: Licensed under the Apache License, Version 2.0 (the "License");
|
8
8
|
# you may not use this file except in compliance with the License.
|
@@ -20,11 +20,12 @@
|
|
20
20
|
# Contains the main classes for the client library. Takes care of all
|
21
21
|
# dependencies.
|
22
22
|
|
23
|
-
gem 'google-ads-common', '~>0.
|
23
|
+
gem 'google-ads-common', '~>0.4.0'
|
24
24
|
require 'logger'
|
25
25
|
require 'ads_common/api'
|
26
26
|
require 'ads_common/config'
|
27
27
|
require 'ads_common/auth/client_login_handler'
|
28
|
+
require 'ads_common/savon_headers/client_login_header_handler'
|
28
29
|
require 'ads_common/savon_headers/simple_header_handler'
|
29
30
|
require 'dfp_api/errors'
|
30
31
|
require 'dfp_api/api_config'
|
@@ -39,30 +40,10 @@ module DfpApi
|
|
39
40
|
# Holds all the services, as well as login credentials.
|
40
41
|
#
|
41
42
|
class Api < AdsCommon::Api
|
42
|
-
#
|
43
|
-
HEADER_NAMESPACE_PREAMBLE = 'https://www.google.com/apis/ads/publisher/'
|
44
|
-
REQUEST_HEADER = 'RequestHeader'
|
45
|
-
LOGIN_SERVICE_NAME = 'gam'
|
46
|
-
|
47
|
-
public
|
48
|
-
|
49
|
-
# Getter for the API service configurations
|
50
|
-
def api_config
|
51
|
-
DfpApi::ApiConfig
|
52
|
-
end
|
53
|
-
|
54
|
-
# Constructor for Api
|
43
|
+
# Constructor for API.
|
55
44
|
def initialize(provided_config = nil)
|
56
45
|
super(provided_config)
|
57
46
|
@credential_handler = DfpApi::CredentialHandler.new(@config)
|
58
|
-
env_string = config.read('service.environment')
|
59
|
-
if env_string.nil? or
|
60
|
-
!api_config.environments.include?(env_string.upcase.to_sym)
|
61
|
-
raise AdsCommon::Errors::Error,
|
62
|
-
"Unknown or unspecified environment: \"%s\"" % env_string
|
63
|
-
end
|
64
|
-
@drivers = Hash.new
|
65
|
-
@wrappers = Hash.new
|
66
47
|
end
|
67
48
|
|
68
49
|
# Sets the logger to use.
|
@@ -74,62 +55,68 @@ module DfpApi
|
|
74
55
|
end
|
75
56
|
end
|
76
57
|
|
58
|
+
# Getter for the API service configurations.
|
59
|
+
def api_config
|
60
|
+
DfpApi::ApiConfig
|
61
|
+
end
|
62
|
+
|
77
63
|
private
|
78
64
|
|
79
65
|
# Creates an appropriate authentication handler for each service (reuses the
|
80
66
|
# ClientLogin one to avoid generating multiple tokens unnecessarily).
|
81
|
-
def create_auth_handler(
|
67
|
+
def create_auth_handler(environment, version)
|
82
68
|
if @client_login_handler.nil?
|
83
69
|
auth_server = api_config.auth_server(environment)
|
84
70
|
@client_login_handler =
|
85
71
|
AdsCommon::Auth::ClientLoginHandler.new(config, auth_server,
|
86
|
-
LOGIN_SERVICE_NAME)
|
72
|
+
api_config.headers_config[:LOGIN_SERVICE_NAME])
|
87
73
|
end
|
88
74
|
return @client_login_handler
|
89
75
|
end
|
90
76
|
|
91
77
|
# Retrieve DFP HeaderHandlers per credential.
|
92
78
|
def soap_header_handlers(auth_handler, header_list, version)
|
93
|
-
ns = HEADER_NAMESPACE_PREAMBLE + version.to_s
|
94
|
-
|
95
|
-
|
79
|
+
ns = api_config.headers_config[:HEADER_NAMESPACE_PREAMBLE] + version.to_s
|
80
|
+
handler = case version
|
81
|
+
when :v201101 then AdsCommon::SavonHeaders::SimpleHeaderHandler
|
82
|
+
when :v201103 then AdsCommon::SavonHeaders::ClientLoginHeaderHandler
|
83
|
+
when :v201104 then AdsCommon::SavonHeaders::ClientLoginHeaderHandler
|
84
|
+
else
|
85
|
+
raise AdsCommon::Errors::Error,
|
86
|
+
"Unknown or unspecified version: \"%s\"" % version.to_s
|
87
|
+
end
|
88
|
+
return [handler.new(@credential_handler, auth_handler,
|
89
|
+
api_config.headers_config[:REQUEST_HEADER], ns, version)]
|
96
90
|
end
|
97
91
|
|
98
|
-
# Handle loading of a single service.
|
99
|
-
#
|
100
|
-
# class and creates an instance of it.
|
92
|
+
# Handle loading of a single service wrapper. Needs to be implemented on
|
93
|
+
# specific API level.
|
101
94
|
#
|
102
95
|
# Args:
|
103
|
-
# - version: intended API version. Must be
|
104
|
-
# - service: name for the intended service
|
96
|
+
# - version: intended API version. Must be a symbol.
|
97
|
+
# - service: name for the intended service. Must be a symbol.
|
105
98
|
#
|
106
99
|
# Returns:
|
107
|
-
# -
|
108
|
-
# - the simplified wrapper generated for the driver
|
100
|
+
# - a wrapper generated for the service.
|
109
101
|
#
|
110
|
-
def
|
111
|
-
version = version.to_sym
|
112
|
-
service = service.to_sym
|
102
|
+
def prepare_wrapper(version, service)
|
113
103
|
environment = config.read('service.environment')
|
114
104
|
api_config.do_require(version, service)
|
115
105
|
endpoint = api_config.endpoint(environment, version, service)
|
116
106
|
interface_class_name = api_config.interface_name(version, service)
|
117
107
|
endpoint_url = endpoint.nil? ? nil : endpoint.to_s + service.to_s
|
118
|
-
|
108
|
+
wrapper = class_for_path(interface_class_name).new(endpoint_url)
|
119
109
|
|
120
|
-
auth_handler = create_auth_handler(
|
110
|
+
auth_handler = create_auth_handler(environment, version)
|
121
111
|
header_list =
|
122
112
|
auth_handler.header_list(@credential_handler.credentials(version))
|
123
113
|
|
124
114
|
soap_handlers = soap_header_handlers(auth_handler, header_list, version)
|
125
|
-
|
126
115
|
soap_handlers.each do |handler|
|
127
|
-
|
116
|
+
wrapper.headerhandler << handler
|
128
117
|
end
|
129
118
|
|
130
|
-
|
131
|
-
@wrappers[[version, service]] = driver
|
132
|
-
return driver, driver
|
119
|
+
return wrapper
|
133
120
|
end
|
134
121
|
|
135
122
|
# Converts complete class path into class object.
|
data/lib/dfp_api/api_config.rb
CHANGED
@@ -33,19 +33,29 @@ module DfpApi
|
|
33
33
|
end
|
34
34
|
|
35
35
|
# Set defaults
|
36
|
-
DEFAULT_VERSION = :
|
36
|
+
DEFAULT_VERSION = :v201104
|
37
37
|
DEFAULT_ENVIRONMENT = :PRODUCTION
|
38
|
-
LATEST_VERSION = :
|
38
|
+
LATEST_VERSION = :v201104
|
39
39
|
|
40
40
|
# Set other constants
|
41
41
|
API_NAME = 'DfpApi'
|
42
42
|
API_PATH = 'dfp_api'
|
43
|
-
CLIENT_LIB_VERSION = '0.2.
|
43
|
+
CLIENT_LIB_VERSION = '0.2.1'
|
44
44
|
DEFAULT_CONFIG_FILENAME = 'dfp_api.yml'
|
45
45
|
|
46
46
|
# Configure the services available to each version
|
47
47
|
@@service_config = {
|
48
48
|
:v201101 => [:CompanyService, :CreativeService, :ForecastService,
|
49
|
+
:InventoryService, :LineItemCreativeAssociationService,
|
50
|
+
:LineItemService, :NetworkService, :OrderService,
|
51
|
+
:PlacementService, :ReportService, :UserService,
|
52
|
+
:CustomTargetingService, :PublisherQueryLanguageService],
|
53
|
+
:v201103 => [:CompanyService, :CreativeService, :ForecastService,
|
54
|
+
:InventoryService, :LineItemCreativeAssociationService,
|
55
|
+
:LineItemService, :NetworkService, :OrderService,
|
56
|
+
:PlacementService, :ReportService, :UserService,
|
57
|
+
:CustomTargetingService, :PublisherQueryLanguageService],
|
58
|
+
:v201104 => [:CompanyService, :CreativeService, :ForecastService,
|
49
59
|
:InventoryService, :LineItemCreativeAssociationService,
|
50
60
|
:LineItemService, :NetworkService, :OrderService,
|
51
61
|
:PlacementService, :ReportService, :UserService,
|
@@ -55,10 +65,14 @@ module DfpApi
|
|
55
65
|
# Configure the different environments, with the base URL for each one
|
56
66
|
@@environment_config = {
|
57
67
|
:PRODUCTION => {
|
58
|
-
:v201101 => 'https://www.google.com/apis/ads/publisher/'
|
68
|
+
:v201101 => 'https://www.google.com/apis/ads/publisher/',
|
69
|
+
:v201103 => 'https://www.google.com/apis/ads/publisher/',
|
70
|
+
:v201104 => 'https://www.google.com/apis/ads/publisher/'
|
59
71
|
},
|
60
72
|
:SANDBOX => {
|
61
|
-
:v201101 => 'https://sandbox.google.com/apis/ads/publisher/'
|
73
|
+
:v201101 => 'https://sandbox.google.com/apis/ads/publisher/',
|
74
|
+
:v201103 => 'https://sandbox.google.com/apis/ads/publisher/',
|
75
|
+
:v201104 => 'https://sandbox.google.com/apis/ads/publisher/'
|
62
76
|
}
|
63
77
|
}
|
64
78
|
|
@@ -68,6 +82,13 @@ module DfpApi
|
|
68
82
|
:SANDBOX => 'https://www.google.com'
|
69
83
|
}
|
70
84
|
|
85
|
+
@@headers_config = {
|
86
|
+
:REQUEST_HEADER => 'RequestHeader',
|
87
|
+
:HEADER_NAMESPACE_PREAMBLE =>
|
88
|
+
'https://www.google.com/apis/ads/publisher/',
|
89
|
+
:LOGIN_SERVICE_NAME => 'gam'
|
90
|
+
}
|
91
|
+
|
71
92
|
public
|
72
93
|
|
73
94
|
def self.do_require(version, service)
|
@@ -77,8 +98,6 @@ module DfpApi
|
|
77
98
|
end
|
78
99
|
|
79
100
|
def self.interface_name(version, service)
|
80
|
-
version = version.to_sym
|
81
|
-
service = service.to_sym
|
82
101
|
return module_name(version, service) + "::" + service.to_s
|
83
102
|
end
|
84
103
|
|
@@ -122,5 +141,9 @@ module DfpApi
|
|
122
141
|
def self.default_config_filename
|
123
142
|
DEFAULT_CONFIG_FILENAME
|
124
143
|
end
|
144
|
+
|
145
|
+
def self.headers_config
|
146
|
+
@@headers_config
|
147
|
+
end
|
125
148
|
end
|
126
149
|
end
|
@@ -3,7 +3,7 @@
|
|
3
3
|
# Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
|
4
4
|
# License:: Licensed under the Apache License,Version 2.0 (the "License").
|
5
5
|
#
|
6
|
-
# Code generated by AdsCommon library 0.
|
6
|
+
# Code generated by AdsCommon library 0.4.0 on 2011-06-17 15:26:39.
|
7
7
|
|
8
8
|
require 'ads_common/savon_service'
|
9
9
|
require 'dfp_api/v201101/company_service_registry'
|
@@ -15,14 +15,6 @@ module DfpApi; module V201101; module CompanyService
|
|
15
15
|
super(endpoint, namespace)
|
16
16
|
end
|
17
17
|
|
18
|
-
def get_companies_by_statement(*args)
|
19
|
-
return execute_action('get_companies_by_statement', args)
|
20
|
-
end
|
21
|
-
|
22
|
-
def get_company(*args)
|
23
|
-
return execute_action('get_company', args)
|
24
|
-
end
|
25
|
-
|
26
18
|
def update_companies(*args)
|
27
19
|
return execute_action('update_companies', args)
|
28
20
|
end
|
@@ -39,6 +31,14 @@ module DfpApi; module V201101; module CompanyService
|
|
39
31
|
return execute_action('create_company', args)
|
40
32
|
end
|
41
33
|
|
34
|
+
def get_companies_by_statement(*args)
|
35
|
+
return execute_action('get_companies_by_statement', args)
|
36
|
+
end
|
37
|
+
|
38
|
+
def get_company(*args)
|
39
|
+
return execute_action('get_company', args)
|
40
|
+
end
|
41
|
+
|
42
42
|
private
|
43
43
|
|
44
44
|
def get_service_registry()
|
@@ -3,12 +3,12 @@
|
|
3
3
|
# Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
|
4
4
|
# License:: Licensed under the Apache License,Version 2.0 (the "License").
|
5
5
|
#
|
6
|
-
# Code generated by AdsCommon library 0.
|
6
|
+
# Code generated by AdsCommon library 0.4.0 on 2011-06-17 15:26:39.
|
7
7
|
|
8
8
|
module DfpApi; module V201101; module CompanyService
|
9
9
|
class CompanyServiceRegistry
|
10
|
-
COMPANYSERVICE_METHODS = {:
|
11
|
-
COMPANYSERVICE_TYPES = {:
|
10
|
+
COMPANYSERVICE_METHODS = {:update_companies=>{:input=>[{:type=>"Company", :min_occurs=>0, :max_occurs=>nil, :name=>:companies}], :output=>{:fields=>[{:type=>"Company", :min_occurs=>0, :max_occurs=>nil, :name=>:rval}], :name=>"update_companies_response"}}, :update_company=>{:input=>[{:type=>"Company", :min_occurs=>0, :max_occurs=>1, :name=>:company}], :output=>{:fields=>[{:type=>"Company", :min_occurs=>0, :max_occurs=>1, :name=>:rval}], :name=>"update_company_response"}}, :create_companies=>{:input=>[{:type=>"Company", :min_occurs=>0, :max_occurs=>nil, :name=>:companies}], :output=>{:fields=>[{:type=>"Company", :min_occurs=>0, :max_occurs=>nil, :name=>:rval}], :name=>"create_companies_response"}}, :create_company=>{:input=>[{:type=>"Company", :min_occurs=>0, :max_occurs=>1, :name=>:company}], :output=>{:fields=>[{:type=>"Company", :min_occurs=>0, :max_occurs=>1, :name=>:rval}], :name=>"create_company_response"}}, :get_companies_by_statement=>{:input=>[{:type=>"Statement", :min_occurs=>0, :max_occurs=>1, :name=>:filter_statement}], :output=>{:fields=>[{:type=>"CompanyPage", :min_occurs=>0, :max_occurs=>1, :name=>:rval}], :name=>"get_companies_by_statement_response"}}, :get_company=>{:input=>[{:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:company_id}], :output=>{:fields=>[{:type=>"Company", :min_occurs=>0, :max_occurs=>1, :name=>:rval}], :name=>"get_company_response"}}}
|
11
|
+
COMPANYSERVICE_TYPES = {:Statement=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:query}, {:type=>"String_ValueMapEntry", :min_occurs=>0, :max_occurs=>nil, :name=>:values}]}, :Company=>{:fields=>[{:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:id}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:name}, {:type=>"Company.Type", :min_occurs=>0, :max_occurs=>1, :name=>:type}]}, :String_ValueMapEntry=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:key}, {:type=>"Value", :min_occurs=>0, :max_occurs=>1, :name=>:value}]}, :CompanyPage=>{:fields=>[{:type=>"int", :min_occurs=>0, :max_occurs=>1, :name=>:total_result_set_size}, {:type=>"int", :min_occurs=>0, :max_occurs=>1, :name=>:start_index}, {:type=>"Company", :min_occurs=>0, :max_occurs=>nil, :name=>:results}]}, :NumberValue=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:value}], :base=>"Value"}, :Value=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:value_type}], :abstract=>true}, :SoapRequestHeader=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:auth_token}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:network_code}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:application_name}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:o_auth_token}]}, :BooleanValue=>{:fields=>[{:type=>"boolean", :min_occurs=>0, :max_occurs=>1, :name=>:value}], :base=>"Value"}, :TextValue=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:value}], :base=>"Value"}, :SoapResponseHeader=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:request_id}, {:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:response_time}]}}
|
12
12
|
|
13
13
|
def self.get_method_signature(method_name)
|
14
14
|
return COMPANYSERVICE_METHODS[method_name.to_sym]
|
@@ -3,7 +3,7 @@
|
|
3
3
|
# Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
|
4
4
|
# License:: Licensed under the Apache License,Version 2.0 (the "License").
|
5
5
|
#
|
6
|
-
# Code generated by AdsCommon library 0.
|
6
|
+
# Code generated by AdsCommon library 0.4.0 on 2011-06-17 15:26:58.
|
7
7
|
|
8
8
|
require 'ads_common/savon_service'
|
9
9
|
require 'dfp_api/v201101/creative_service_registry'
|
@@ -15,14 +15,6 @@ module DfpApi; module V201101; module CreativeService
|
|
15
15
|
super(endpoint, namespace)
|
16
16
|
end
|
17
17
|
|
18
|
-
def get_creatives_by_statement(*args)
|
19
|
-
return execute_action('get_creatives_by_statement', args)
|
20
|
-
end
|
21
|
-
|
22
|
-
def update_creative(*args)
|
23
|
-
return execute_action('update_creative', args)
|
24
|
-
end
|
25
|
-
|
26
18
|
def update_creatives(*args)
|
27
19
|
return execute_action('update_creatives', args)
|
28
20
|
end
|
@@ -39,6 +31,14 @@ module DfpApi; module V201101; module CreativeService
|
|
39
31
|
return execute_action('get_creative', args)
|
40
32
|
end
|
41
33
|
|
34
|
+
def get_creatives_by_statement(*args)
|
35
|
+
return execute_action('get_creatives_by_statement', args)
|
36
|
+
end
|
37
|
+
|
38
|
+
def update_creative(*args)
|
39
|
+
return execute_action('update_creative', args)
|
40
|
+
end
|
41
|
+
|
42
42
|
private
|
43
43
|
|
44
44
|
def get_service_registry()
|
@@ -3,12 +3,12 @@
|
|
3
3
|
# Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
|
4
4
|
# License:: Licensed under the Apache License,Version 2.0 (the "License").
|
5
5
|
#
|
6
|
-
# Code generated by AdsCommon library 0.
|
6
|
+
# Code generated by AdsCommon library 0.4.0 on 2011-06-17 15:26:58.
|
7
7
|
|
8
8
|
module DfpApi; module V201101; module CreativeService
|
9
9
|
class CreativeServiceRegistry
|
10
|
-
CREATIVESERVICE_METHODS = {:
|
11
|
-
CREATIVESERVICE_TYPES = {:
|
10
|
+
CREATIVESERVICE_METHODS = {:update_creatives=>{:input=>[{:type=>"Creative", :min_occurs=>0, :max_occurs=>nil, :name=>:creatives}], :output=>{:fields=>[{:type=>"Creative", :min_occurs=>0, :max_occurs=>nil, :name=>:rval}], :name=>"update_creatives_response"}}, :create_creative=>{:input=>[{:type=>"Creative", :min_occurs=>0, :max_occurs=>1, :name=>:creative}], :output=>{:fields=>[{:type=>"Creative", :min_occurs=>0, :max_occurs=>1, :name=>:rval}], :name=>"create_creative_response"}}, :create_creatives=>{:input=>[{:type=>"Creative", :min_occurs=>0, :max_occurs=>nil, :name=>:creatives}], :output=>{:fields=>[{:type=>"Creative", :min_occurs=>0, :max_occurs=>nil, :name=>:rval}], :name=>"create_creatives_response"}}, :get_creative=>{:input=>[{:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:creative_id}], :output=>{:fields=>[{:type=>"Creative", :min_occurs=>0, :max_occurs=>1, :name=>:rval}], :name=>"get_creative_response"}}, :get_creatives_by_statement=>{:input=>[{:type=>"Statement", :min_occurs=>0, :max_occurs=>1, :name=>:filter_statement}], :output=>{:fields=>[{:type=>"CreativePage", :min_occurs=>0, :max_occurs=>1, :name=>:rval}], :name=>"get_creatives_by_statement_response"}}, :update_creative=>{:input=>[{:type=>"Creative", :min_occurs=>0, :max_occurs=>1, :name=>:creative}], :output=>{:fields=>[{:type=>"Creative", :min_occurs=>0, :max_occurs=>1, :name=>:rval}], :name=>"update_creative_response"}}}
|
11
|
+
CREATIVESERVICE_TYPES = {:Statement=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:query}, {:type=>"String_ValueMapEntry", :min_occurs=>0, :max_occurs=>nil, :name=>:values}]}, :BaseImageCreative=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:image_name}, {:type=>"base64Binary", :min_occurs=>0, :max_occurs=>1, :name=>:image_byte_array}, {:type=>"boolean", :min_occurs=>0, :max_occurs=>1, :name=>:override_size}, {:type=>"Size", :min_occurs=>0, :max_occurs=>1, :name=>:asset_size}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:image_url}], :abstract=>true, :base=>"HasDestinationUrlCreative"}, :HasDestinationUrlCreative=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:destination_url}], :abstract=>true, :base=>"Creative"}, :String_ValueMapEntry=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:key}, {:type=>"Value", :min_occurs=>0, :max_occurs=>1, :name=>:value}]}, :NumberValue=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:value}], :base=>"Value"}, :BaseImageRedirectCreative=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:image_url}], :abstract=>true, :base=>"HasDestinationUrlCreative"}, :ImageCreative=>{:fields=>[], :base=>"BaseImageCreative"}, :Creative=>{:fields=>[{:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:advertiser_id}, {:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:id}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:name}, {:type=>"Size", :min_occurs=>0, :max_occurs=>1, :name=>:size}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:preview_url}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:creative_type}], :abstract=>true}, :Value=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:value_type}], :abstract=>true}, :ImageRedirectCreative=>{:fields=>[], :base=>"BaseImageRedirectCreative"}, :CreativePage=>{:fields=>[{:type=>"int", :min_occurs=>0, :max_occurs=>1, :name=>:total_result_set_size}, {:type=>"int", :min_occurs=>0, :max_occurs=>1, :name=>:start_index}, {:type=>"Creative", :min_occurs=>0, :max_occurs=>nil, :name=>:results}]}, :ThirdPartyCreative=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:snippet}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:expanded_snippet}, {:type=>"ThirdPartyCreative.FormatStatus", :min_occurs=>0, :max_occurs=>1, :name=>:format_status}], :base=>"Creative"}, :SoapRequestHeader=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:auth_token}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:network_code}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:application_name}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:o_auth_token}]}, :BooleanValue=>{:fields=>[{:type=>"boolean", :min_occurs=>0, :max_occurs=>1, :name=>:value}], :base=>"Value"}, :BaseFlashCreative=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:flash_name}, {:type=>"base64Binary", :min_occurs=>0, :max_occurs=>1, :name=>:flash_byte_array}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:fallback_image_name}, {:type=>"base64Binary", :min_occurs=>0, :max_occurs=>1, :name=>:fallback_image_byte_array}, {:type=>"boolean", :min_occurs=>0, :max_occurs=>1, :name=>:override_size}, {:type=>"boolean", :min_occurs=>0, :max_occurs=>1, :name=>:click_tag_required}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:fallback_preview_url}, {:type=>"Size", :min_occurs=>0, :max_occurs=>1, :name=>:flash_asset_size}, {:type=>"Size", :min_occurs=>0, :max_occurs=>1, :name=>:fallback_asset_size}], :abstract=>true, :base=>"HasDestinationUrlCreative"}, :TextValue=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:value}], :base=>"Value"}, :FlashCreative=>{:fields=>[], :base=>"BaseFlashCreative"}, :SoapResponseHeader=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:request_id}, {:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:response_time}]}, :BaseFlashRedirectCreative=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:flash_url}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:fallback_url}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:fallback_preview_url}], :abstract=>true, :base=>"HasDestinationUrlCreative"}, :Size=>{:fields=>[{:type=>"int", :min_occurs=>0, :max_occurs=>1, :name=>:width}, {:type=>"int", :min_occurs=>0, :max_occurs=>1, :name=>:height}, {:type=>"boolean", :min_occurs=>0, :max_occurs=>1, :name=>:is_aspect_ratio}]}, :FlashRedirectCreative=>{:fields=>[], :base=>"BaseFlashRedirectCreative"}}
|
12
12
|
|
13
13
|
def self.get_method_signature(method_name)
|
14
14
|
return CREATIVESERVICE_METHODS[method_name.to_sym]
|
@@ -3,7 +3,7 @@
|
|
3
3
|
# Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
|
4
4
|
# License:: Licensed under the Apache License,Version 2.0 (the "License").
|
5
5
|
#
|
6
|
-
# Code generated by AdsCommon library 0.
|
6
|
+
# Code generated by AdsCommon library 0.4.0 on 2011-06-17 15:26:32.
|
7
7
|
|
8
8
|
require 'ads_common/savon_service'
|
9
9
|
require 'dfp_api/v201101/custom_targeting_service_registry'
|
@@ -15,14 +15,6 @@ module DfpApi; module V201101; module CustomTargetingService
|
|
15
15
|
super(endpoint, namespace)
|
16
16
|
end
|
17
17
|
|
18
|
-
def get_custom_targeting_values_by_statement(*args)
|
19
|
-
return execute_action('get_custom_targeting_values_by_statement', args)
|
20
|
-
end
|
21
|
-
|
22
|
-
def perform_custom_targeting_key_action(*args)
|
23
|
-
return execute_action('perform_custom_targeting_key_action', args)
|
24
|
-
end
|
25
|
-
|
26
18
|
def perform_custom_targeting_value_action(*args)
|
27
19
|
return execute_action('perform_custom_targeting_value_action', args)
|
28
20
|
end
|
@@ -47,6 +39,14 @@ module DfpApi; module V201101; module CustomTargetingService
|
|
47
39
|
return execute_action('get_custom_targeting_keys_by_statement', args)
|
48
40
|
end
|
49
41
|
|
42
|
+
def get_custom_targeting_values_by_statement(*args)
|
43
|
+
return execute_action('get_custom_targeting_values_by_statement', args)
|
44
|
+
end
|
45
|
+
|
46
|
+
def perform_custom_targeting_key_action(*args)
|
47
|
+
return execute_action('perform_custom_targeting_key_action', args)
|
48
|
+
end
|
49
|
+
|
50
50
|
private
|
51
51
|
|
52
52
|
def get_service_registry()
|
@@ -3,12 +3,12 @@
|
|
3
3
|
# Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
|
4
4
|
# License:: Licensed under the Apache License,Version 2.0 (the "License").
|
5
5
|
#
|
6
|
-
# Code generated by AdsCommon library 0.
|
6
|
+
# Code generated by AdsCommon library 0.4.0 on 2011-06-17 15:26:32.
|
7
7
|
|
8
8
|
module DfpApi; module V201101; module CustomTargetingService
|
9
9
|
class CustomTargetingServiceRegistry
|
10
|
-
CUSTOMTARGETINGSERVICE_METHODS = {:
|
11
|
-
CUSTOMTARGETINGSERVICE_TYPES = {:
|
10
|
+
CUSTOMTARGETINGSERVICE_METHODS = {:perform_custom_targeting_value_action=>{:input=>[{:type=>"CustomTargetingValueAction", :min_occurs=>0, :max_occurs=>1, :name=>:custom_targeting_value_action}, {:type=>"Statement", :min_occurs=>0, :max_occurs=>1, :name=>:filter_statement}], :output=>{:fields=>[{:type=>"UpdateResult", :min_occurs=>0, :max_occurs=>1, :name=>:rval}], :name=>"perform_custom_targeting_value_action_response"}}, :create_custom_targeting_keys=>{:input=>[{:type=>"CustomTargetingKey", :min_occurs=>0, :max_occurs=>nil, :name=>:keys}], :output=>{:fields=>[{:type=>"CustomTargetingKey", :min_occurs=>0, :max_occurs=>nil, :name=>:rval}], :name=>"create_custom_targeting_keys_response"}}, :update_custom_targeting_keys=>{:input=>[{:type=>"CustomTargetingKey", :min_occurs=>0, :max_occurs=>nil, :name=>:keys}], :output=>{:fields=>[{:type=>"CustomTargetingKey", :min_occurs=>0, :max_occurs=>nil, :name=>:rval}], :name=>"update_custom_targeting_keys_response"}}, :create_custom_targeting_values=>{:input=>[{:type=>"CustomTargetingValue", :min_occurs=>0, :max_occurs=>nil, :name=>:values}], :output=>{:fields=>[{:type=>"CustomTargetingValue", :min_occurs=>0, :max_occurs=>nil, :name=>:rval}], :name=>"create_custom_targeting_values_response"}}, :update_custom_targeting_values=>{:input=>[{:type=>"CustomTargetingValue", :min_occurs=>0, :max_occurs=>nil, :name=>:values}], :output=>{:fields=>[{:type=>"CustomTargetingValue", :min_occurs=>0, :max_occurs=>nil, :name=>:rval}], :name=>"update_custom_targeting_values_response"}}, :get_custom_targeting_keys_by_statement=>{:input=>[{:type=>"Statement", :min_occurs=>0, :max_occurs=>1, :name=>:filter_statement}], :output=>{:fields=>[{:type=>"CustomTargetingKeyPage", :min_occurs=>0, :max_occurs=>1, :name=>:rval}], :name=>"get_custom_targeting_keys_by_statement_response"}}, :get_custom_targeting_values_by_statement=>{:input=>[{:type=>"Statement", :min_occurs=>0, :max_occurs=>1, :name=>:filter_statement}], :output=>{:fields=>[{:type=>"CustomTargetingValuePage", :min_occurs=>0, :max_occurs=>1, :name=>:rval}], :name=>"get_custom_targeting_values_by_statement_response"}}, :perform_custom_targeting_key_action=>{:input=>[{:type=>"CustomTargetingKeyAction", :min_occurs=>0, :max_occurs=>1, :name=>:custom_targeting_key_action}, {:type=>"Statement", :min_occurs=>0, :max_occurs=>1, :name=>:filter_statement}], :output=>{:fields=>[{:type=>"UpdateResult", :min_occurs=>0, :max_occurs=>1, :name=>:rval}], :name=>"perform_custom_targeting_key_action_response"}}}
|
11
|
+
CUSTOMTARGETINGSERVICE_TYPES = {:Statement=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:query}, {:type=>"String_ValueMapEntry", :min_occurs=>0, :max_occurs=>nil, :name=>:values}]}, :CustomTargetingKey=>{:fields=>[{:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:id}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:name}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:display_name}, {:type=>"CustomTargetingKey.Type", :min_occurs=>0, :max_occurs=>1, :name=>:type}]}, :UpdateResult=>{:fields=>[{:type=>"int", :min_occurs=>0, :max_occurs=>1, :name=>:num_changes}]}, :DeleteCustomTargetingValueAction=>{:fields=>[], :base=>"DeleteCustomTargetingValues"}, :String_ValueMapEntry=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:key}, {:type=>"Value", :min_occurs=>0, :max_occurs=>1, :name=>:value}]}, :NumberValue=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:value}], :base=>"Value"}, :CustomTargetingKeyPage=>{:fields=>[{:type=>"int", :min_occurs=>0, :max_occurs=>1, :name=>:total_result_set_size}, {:type=>"int", :min_occurs=>0, :max_occurs=>1, :name=>:start_index}, {:type=>"CustomTargetingKey", :min_occurs=>0, :max_occurs=>nil, :name=>:results}]}, :DeleteCustomTargetingValues=>{:fields=>[], :base=>"CustomTargetingValueAction"}, :CustomTargetingValue=>{:fields=>[{:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:custom_targeting_key_id}, {:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:id}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:name}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:display_name}, {:type=>"CustomTargetingValue.MatchType", :min_occurs=>0, :max_occurs=>1, :name=>:match_type}]}, :CustomTargetingKeyAction=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:custom_targeting_key_action_type}], :abstract=>true}, :Value=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:value_type}], :abstract=>true}, :CustomTargetingValuePage=>{:fields=>[{:type=>"int", :min_occurs=>0, :max_occurs=>1, :name=>:total_result_set_size}, {:type=>"int", :min_occurs=>0, :max_occurs=>1, :name=>:start_index}, {:type=>"CustomTargetingValue", :min_occurs=>0, :max_occurs=>nil, :name=>:results}]}, :SoapRequestHeader=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:auth_token}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:network_code}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:application_name}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:o_auth_token}]}, :CustomTargetingValueAction=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:custom_targeting_value_action_type}], :abstract=>true}, :BooleanValue=>{:fields=>[{:type=>"boolean", :min_occurs=>0, :max_occurs=>1, :name=>:value}], :base=>"Value"}, :TextValue=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:value}], :base=>"Value"}, :DeleteCustomTargetingKeyAction=>{:fields=>[], :base=>"DeleteCustomTargetingKeys"}, :SoapResponseHeader=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:request_id}, {:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:response_time}]}, :DeleteCustomTargetingKeys=>{:fields=>[], :base=>"CustomTargetingKeyAction"}}
|
12
12
|
|
13
13
|
def self.get_method_signature(method_name)
|
14
14
|
return CUSTOMTARGETINGSERVICE_METHODS[method_name.to_sym]
|
@@ -3,7 +3,7 @@
|
|
3
3
|
# Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
|
4
4
|
# License:: Licensed under the Apache License,Version 2.0 (the "License").
|
5
5
|
#
|
6
|
-
# Code generated by AdsCommon library 0.
|
6
|
+
# Code generated by AdsCommon library 0.4.0 on 2011-06-17 15:26:52.
|
7
7
|
|
8
8
|
require 'ads_common/savon_service'
|
9
9
|
require 'dfp_api/v201101/forecast_service_registry'
|
@@ -15,14 +15,14 @@ module DfpApi; module V201101; module ForecastService
|
|
15
15
|
super(endpoint, namespace)
|
16
16
|
end
|
17
17
|
|
18
|
-
def get_forecast(*args)
|
19
|
-
return execute_action('get_forecast', args)
|
20
|
-
end
|
21
|
-
|
22
18
|
def get_forecast_by_id(*args)
|
23
19
|
return execute_action('get_forecast_by_id', args)
|
24
20
|
end
|
25
21
|
|
22
|
+
def get_forecast(*args)
|
23
|
+
return execute_action('get_forecast', args)
|
24
|
+
end
|
25
|
+
|
26
26
|
private
|
27
27
|
|
28
28
|
def get_service_registry()
|
@@ -3,12 +3,12 @@
|
|
3
3
|
# Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
|
4
4
|
# License:: Licensed under the Apache License,Version 2.0 (the "License").
|
5
5
|
#
|
6
|
-
# Code generated by AdsCommon library 0.
|
6
|
+
# Code generated by AdsCommon library 0.4.0 on 2011-06-17 15:26:52.
|
7
7
|
|
8
8
|
module DfpApi; module V201101; module ForecastService
|
9
9
|
class ForecastServiceRegistry
|
10
|
-
FORECASTSERVICE_METHODS = {:
|
11
|
-
FORECASTSERVICE_TYPES = {:
|
10
|
+
FORECASTSERVICE_METHODS = {:get_forecast_by_id=>{:input=>[{:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:line_item_id}], :output=>{:fields=>[{:type=>"Forecast", :min_occurs=>0, :max_occurs=>1, :name=>:rval}], :name=>"get_forecast_by_id_response"}}, :get_forecast=>{:input=>[{:type=>"LineItem", :min_occurs=>0, :max_occurs=>1, :name=>:line_item}], :output=>{:fields=>[{:type=>"Forecast", :min_occurs=>0, :max_occurs=>1, :name=>:rval}], :name=>"get_forecast_response"}}}
|
11
|
+
FORECASTSERVICE_TYPES = {:Money=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:currency_code}, {:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:micro_amount}]}, :GeoTargeting=>{:fields=>[{:type=>"Location", :min_occurs=>0, :max_occurs=>nil, :name=>:targeted_locations}, {:type=>"Location", :min_occurs=>0, :max_occurs=>nil, :name=>:excluded_locations}]}, :Stats=>{:fields=>[{:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:impressions_delivered}, {:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:clicks_delivered}]}, :Location=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:location_type}]}, :CustomCriteriaNode=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:custom_criteria_node_type}], :abstract=>true}, :InventoryTargeting=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>nil, :name=>:targeted_ad_unit_ids}, {:type=>"string", :min_occurs=>0, :max_occurs=>nil, :name=>:excluded_ad_unit_ids}, {:type=>"long", :min_occurs=>0, :max_occurs=>nil, :name=>:targeted_placement_ids}]}, :Forecast=>{:fields=>[{:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:id}, {:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:order_id}, {:type=>"UnitType", :min_occurs=>0, :max_occurs=>1, :name=>:unit_type}, {:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:available_units}, {:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:delivered_units}, {:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:matched_units}, {:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:possible_units}, {:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:reserved_units}]}, :Targeting=>{:fields=>[{:type=>"GeoTargeting", :min_occurs=>0, :max_occurs=>1, :name=>:geo_targeting}, {:type=>"InventoryTargeting", :min_occurs=>0, :max_occurs=>1, :name=>:inventory_targeting}, {:type=>"CustomCriteriaSet", :min_occurs=>0, :max_occurs=>1, :name=>:custom_targeting}]}, :MetroLocation=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:metro_code}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:country_code}], :base=>"Location"}, :DeliveryData=>{:fields=>[{:type=>"long", :min_occurs=>0, :max_occurs=>nil, :name=>:units}]}, :CustomTargetingValue=>{:fields=>[{:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:custom_targeting_key_id}, {:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:id}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:name}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:display_name}, {:type=>"CustomTargetingValue.MatchType", :min_occurs=>0, :max_occurs=>1, :name=>:match_type}]}, :CityLocation=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:city_name}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:region_code}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:country_code}], :base=>"Location"}, :DeliveryIndicator=>{:fields=>[{:type=>"double", :min_occurs=>0, :max_occurs=>1, :name=>:expected_delivery_percentage}, {:type=>"double", :min_occurs=>0, :max_occurs=>1, :name=>:actual_delivery_percentage}]}, :LineItem=>{:fields=>[{:type=>"Targeting", :min_occurs=>0, :max_occurs=>1, :name=>:targeting}], :base=>"LineItemSummary"}, :Date=>{:fields=>[{:type=>"int", :min_occurs=>0, :max_occurs=>1, :name=>:year}, {:type=>"int", :min_occurs=>0, :max_occurs=>1, :name=>:month}, {:type=>"int", :min_occurs=>0, :max_occurs=>1, :name=>:day}]}, :CountryLocation=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:country_code}], :base=>"Location"}, :SoapRequestHeader=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:auth_token}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:network_code}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:application_name}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:o_auth_token}]}, :PredefinedCustomCriteria=>{:fields=>[{:type=>"long", :min_occurs=>0, :max_occurs=>nil, :name=>:value_ids}], :base=>"CustomCriteria"}, :FreeFormCustomCriteria=>{:fields=>[{:type=>"CustomTargetingValue", :min_occurs=>0, :max_occurs=>nil, :name=>:values}], :base=>"CustomCriteria"}, :CustomCriteria=>{:fields=>[{:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:key_id}, {:type=>"CustomCriteria.ComparisonOperator", :min_occurs=>0, :max_occurs=>1, :name=>:operator}], :base=>"CustomCriteriaNode"}, :SoapResponseHeader=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:request_id}, {:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:response_time}]}, :RegionLocation=>{:fields=>[{:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:region_code}], :base=>"Location"}, :FrequencyCap=>{:fields=>[{:type=>"int", :min_occurs=>0, :max_occurs=>1, :name=>:max_impressions}, {:type=>"TimeUnit", :min_occurs=>0, :max_occurs=>1, :name=>:time_unit}]}, :DateTime=>{:fields=>[{:type=>"Date", :min_occurs=>0, :max_occurs=>1, :name=>:date}, {:type=>"int", :min_occurs=>0, :max_occurs=>1, :name=>:hour}, {:type=>"int", :min_occurs=>0, :max_occurs=>1, :name=>:minute}, {:type=>"int", :min_occurs=>0, :max_occurs=>1, :name=>:second}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:time_zone_id}]}, :Size=>{:fields=>[{:type=>"int", :min_occurs=>0, :max_occurs=>1, :name=>:width}, {:type=>"int", :min_occurs=>0, :max_occurs=>1, :name=>:height}, {:type=>"boolean", :min_occurs=>0, :max_occurs=>1, :name=>:is_aspect_ratio}]}, :LineItemSummary=>{:fields=>[{:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:order_id}, {:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:id}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:name}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:order_name}, {:type=>"DateTime", :min_occurs=>0, :max_occurs=>1, :name=>:start_date_time}, {:type=>"StartDateTimeType", :min_occurs=>0, :max_occurs=>1, :name=>:start_date_time_type}, {:type=>"DateTime", :min_occurs=>0, :max_occurs=>1, :name=>:end_date_time}, {:type=>"boolean", :min_occurs=>0, :max_occurs=>1, :name=>:unlimited_end_date_time}, {:type=>"CreativeRotationType", :min_occurs=>0, :max_occurs=>1, :name=>:creative_rotation_type}, {:type=>"DeliveryRateType", :min_occurs=>0, :max_occurs=>1, :name=>:delivery_rate_type}, {:type=>"RoadblockingType", :min_occurs=>0, :max_occurs=>1, :name=>:roadblocking_type}, {:type=>"FrequencyCap", :min_occurs=>0, :max_occurs=>nil, :name=>:frequency_caps}, {:type=>"LineItemType", :min_occurs=>0, :max_occurs=>1, :name=>:line_item_type}, {:type=>"UnitType", :min_occurs=>0, :max_occurs=>1, :name=>:unit_type}, {:type=>"LineItemSummary.Duration", :min_occurs=>0, :max_occurs=>1, :name=>:duration}, {:type=>"long", :min_occurs=>0, :max_occurs=>1, :name=>:units_bought}, {:type=>"Money", :min_occurs=>0, :max_occurs=>1, :name=>:cost_per_unit}, {:type=>"Money", :min_occurs=>0, :max_occurs=>1, :name=>:value_cost_per_unit}, {:type=>"CostType", :min_occurs=>0, :max_occurs=>1, :name=>:cost_type}, {:type=>"LineItemDiscountType", :min_occurs=>0, :max_occurs=>1, :name=>:discount_type}, {:type=>"double", :min_occurs=>0, :max_occurs=>1, :name=>:discount}, {:type=>"Size", :min_occurs=>0, :max_occurs=>nil, :name=>:creative_sizes}, {:type=>"boolean", :min_occurs=>0, :max_occurs=>1, :name=>:allow_overbook}, {:type=>"Stats", :min_occurs=>0, :max_occurs=>1, :name=>:stats}, {:type=>"DeliveryIndicator", :min_occurs=>0, :max_occurs=>1, :name=>:delivery_indicator}, {:type=>"DeliveryData", :min_occurs=>0, :max_occurs=>1, :name=>:delivery_data}, {:type=>"Money", :min_occurs=>0, :max_occurs=>1, :name=>:budget}, {:type=>"ComputedStatus", :min_occurs=>0, :max_occurs=>1, :name=>:status}, {:type=>"LineItemSummary.ReservationStatus", :min_occurs=>0, :max_occurs=>1, :name=>:reservation_status}, {:type=>"boolean", :min_occurs=>0, :max_occurs=>1, :name=>:is_archived}, {:type=>"string", :min_occurs=>0, :max_occurs=>1, :name=>:line_item_summary_type}]}, :CustomCriteriaSet=>{:fields=>[{:type=>"CustomCriteriaSet.LogicalOperator", :min_occurs=>0, :max_occurs=>1, :name=>:logical_operator}, {:type=>"CustomCriteriaNode", :min_occurs=>0, :max_occurs=>nil, :name=>:children}], :base=>"CustomCriteriaNode"}}
|
12
12
|
|
13
13
|
def self.get_method_signature(method_name)
|
14
14
|
return FORECASTSERVICE_METHODS[method_name.to_sym]
|
@@ -3,7 +3,7 @@
|
|
3
3
|
# Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
|
4
4
|
# License:: Licensed under the Apache License,Version 2.0 (the "License").
|
5
5
|
#
|
6
|
-
# Code generated by AdsCommon library 0.
|
6
|
+
# Code generated by AdsCommon library 0.4.0 on 2011-06-17 15:26:48.
|
7
7
|
|
8
8
|
require 'ads_common/savon_service'
|
9
9
|
require 'dfp_api/v201101/inventory_service_registry'
|
@@ -15,18 +15,6 @@ module DfpApi; module V201101; module InventoryService
|
|
15
15
|
super(endpoint, namespace)
|
16
16
|
end
|
17
17
|
|
18
|
-
def update_ad_units(*args)
|
19
|
-
return execute_action('update_ad_units', args)
|
20
|
-
end
|
21
|
-
|
22
|
-
def create_ad_units(*args)
|
23
|
-
return execute_action('create_ad_units', args)
|
24
|
-
end
|
25
|
-
|
26
|
-
def get_ad_unit(*args)
|
27
|
-
return execute_action('get_ad_unit', args)
|
28
|
-
end
|
29
|
-
|
30
18
|
def get_ad_units_by_statement(*args)
|
31
19
|
return execute_action('get_ad_units_by_statement', args)
|
32
20
|
end
|
@@ -43,6 +31,18 @@ module DfpApi; module V201101; module InventoryService
|
|
43
31
|
return execute_action('create_ad_unit', args)
|
44
32
|
end
|
45
33
|
|
34
|
+
def update_ad_units(*args)
|
35
|
+
return execute_action('update_ad_units', args)
|
36
|
+
end
|
37
|
+
|
38
|
+
def create_ad_units(*args)
|
39
|
+
return execute_action('create_ad_units', args)
|
40
|
+
end
|
41
|
+
|
42
|
+
def get_ad_unit(*args)
|
43
|
+
return execute_action('get_ad_unit', args)
|
44
|
+
end
|
45
|
+
|
46
46
|
private
|
47
47
|
|
48
48
|
def get_service_registry()
|