google-adwords-api 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. data/Rakefile +1 -1
  2. data/examples/v201101/add_conversion.rb +97 -0
  3. data/examples/v201101/add_user_list.rb +28 -2
  4. data/examples/v201101/get_all_conversions.rb +88 -0
  5. data/examples/v201101/get_keyword_opportunities.rb +103 -0
  6. data/examples/v201101/update_conversion.rb +96 -0
  7. data/lib/adwords_api/api_config.rb +6 -3
  8. data/lib/adwords_api/errors.rb +4 -1
  9. data/lib/adwords_api/extensions.rb +1 -1
  10. data/lib/adwords_api/v13/AccountServiceDriver.rb +5 -5
  11. data/lib/adwords_api/v13/ReportServiceDriver.rb +7 -7
  12. data/lib/adwords_api/v13/TrafficEstimatorServiceDriver.rb +4 -4
  13. data/lib/adwords_api/v200909/AdExtensionOverrideServiceDriver.rb +2 -2
  14. data/lib/adwords_api/v200909/AdGroupAdServiceDriver.rb +2 -2
  15. data/lib/adwords_api/v200909/AdGroupCriterionService.rb +506 -506
  16. data/lib/adwords_api/v200909/AdGroupCriterionServiceDriver.rb +2 -2
  17. data/lib/adwords_api/v200909/AdGroupCriterionServiceMappingRegistry.rb +428 -428
  18. data/lib/adwords_api/v200909/AdGroupServiceDriver.rb +2 -2
  19. data/lib/adwords_api/v200909/AdParamServiceDriver.rb +2 -2
  20. data/lib/adwords_api/v200909/BulkMutateJobServiceDriver.rb +2 -2
  21. data/lib/adwords_api/v200909/CampaignAdExtensionServiceDriver.rb +2 -2
  22. data/lib/adwords_api/v200909/CampaignCriterionService.rb +133 -133
  23. data/lib/adwords_api/v200909/CampaignCriterionServiceDriver.rb +2 -2
  24. data/lib/adwords_api/v200909/CampaignCriterionServiceMappingRegistry.rb +184 -184
  25. data/lib/adwords_api/v200909/CampaignServiceDriver.rb +2 -2
  26. data/lib/adwords_api/v200909/CampaignTargetServiceDriver.rb +2 -2
  27. data/lib/adwords_api/v200909/GeoLocationServiceDriver.rb +1 -1
  28. data/lib/adwords_api/v200909/InfoServiceDriver.rb +1 -1
  29. data/lib/adwords_api/v200909/TargetingIdeaService.rb +907 -907
  30. data/lib/adwords_api/v200909/TargetingIdeaServiceDriver.rb +2 -2
  31. data/lib/adwords_api/v200909/TargetingIdeaServiceMappingRegistry.rb +384 -384
  32. data/lib/adwords_api/v201003/AdExtensionOverrideServiceDriver.rb +2 -2
  33. data/lib/adwords_api/v201003/AdGroupAdServiceDriver.rb +2 -2
  34. data/lib/adwords_api/v201003/AdGroupCriterionService.rb +527 -527
  35. data/lib/adwords_api/v201003/AdGroupCriterionServiceDriver.rb +2 -2
  36. data/lib/adwords_api/v201003/AdGroupCriterionServiceMappingRegistry.rb +469 -469
  37. data/lib/adwords_api/v201003/AdGroupServiceDriver.rb +2 -2
  38. data/lib/adwords_api/v201003/AdParamServiceDriver.rb +2 -2
  39. data/lib/adwords_api/v201003/BidLandscapeServiceDriver.rb +1 -1
  40. data/lib/adwords_api/v201003/BulkMutateJobServiceDriver.rb +2 -2
  41. data/lib/adwords_api/v201003/CampaignAdExtensionServiceDriver.rb +2 -2
  42. data/lib/adwords_api/v201003/CampaignCriterionService.rb +133 -133
  43. data/lib/adwords_api/v201003/CampaignCriterionServiceDriver.rb +2 -2
  44. data/lib/adwords_api/v201003/CampaignCriterionServiceMappingRegistry.rb +186 -186
  45. data/lib/adwords_api/v201003/CampaignServiceDriver.rb +2 -2
  46. data/lib/adwords_api/v201003/CampaignTargetServiceDriver.rb +2 -2
  47. data/lib/adwords_api/v201003/GeoLocationServiceDriver.rb +1 -1
  48. data/lib/adwords_api/v201003/InfoServiceDriver.rb +1 -1
  49. data/lib/adwords_api/v201003/MediaServiceDriver.rb +2 -2
  50. data/lib/adwords_api/v201003/ReportDefinitionServiceDriver.rb +3 -3
  51. data/lib/adwords_api/v201003/TargetingIdeaService.rb +1304 -1304
  52. data/lib/adwords_api/v201003/TargetingIdeaServiceDriver.rb +2 -2
  53. data/lib/adwords_api/v201003/TargetingIdeaServiceMappingRegistry.rb +401 -401
  54. data/lib/adwords_api/v201008/AdExtensionOverrideServiceDriver.rb +2 -2
  55. data/lib/adwords_api/v201008/AdGroupAdServiceDriver.rb +2 -2
  56. data/lib/adwords_api/v201008/AdGroupCriterionService.rb +598 -598
  57. data/lib/adwords_api/v201008/AdGroupCriterionServiceDriver.rb +2 -2
  58. data/lib/adwords_api/v201008/AdGroupCriterionServiceMappingRegistry.rb +680 -680
  59. data/lib/adwords_api/v201008/AdGroupServiceDriver.rb +2 -2
  60. data/lib/adwords_api/v201008/AdParamServiceDriver.rb +2 -2
  61. data/lib/adwords_api/v201008/AlertServiceDriver.rb +1 -1
  62. data/lib/adwords_api/v201008/BidLandscapeServiceDriver.rb +1 -1
  63. data/lib/adwords_api/v201008/BulkMutateJobServiceDriver.rb +2 -2
  64. data/lib/adwords_api/v201008/CampaignAdExtensionServiceDriver.rb +2 -2
  65. data/lib/adwords_api/v201008/CampaignCriterionService.rb +178 -178
  66. data/lib/adwords_api/v201008/CampaignCriterionServiceDriver.rb +2 -2
  67. data/lib/adwords_api/v201008/CampaignCriterionServiceMappingRegistry.rb +228 -228
  68. data/lib/adwords_api/v201008/CampaignServiceDriver.rb +2 -2
  69. data/lib/adwords_api/v201008/CampaignTargetServiceDriver.rb +2 -2
  70. data/lib/adwords_api/v201008/CustomerSyncServiceDriver.rb +1 -1
  71. data/lib/adwords_api/v201008/ExperimentServiceDriver.rb +2 -2
  72. data/lib/adwords_api/v201008/GeoLocationServiceDriver.rb +1 -1
  73. data/lib/adwords_api/v201008/InfoServiceDriver.rb +1 -1
  74. data/lib/adwords_api/v201008/MediaServiceDriver.rb +2 -2
  75. data/lib/adwords_api/v201008/ReportDefinitionServiceDriver.rb +3 -3
  76. data/lib/adwords_api/v201008/ServicedAccountServiceDriver.rb +1 -1
  77. data/lib/adwords_api/v201008/TargetingIdeaService.rb +1459 -1459
  78. data/lib/adwords_api/v201008/TargetingIdeaServiceDriver.rb +2 -2
  79. data/lib/adwords_api/v201008/TargetingIdeaServiceMappingRegistry.rb +447 -447
  80. data/lib/adwords_api/v201008/TrafficEstimatorService.rb +855 -855
  81. data/lib/adwords_api/v201008/TrafficEstimatorServiceDriver.rb +1 -1
  82. data/lib/adwords_api/v201008/TrafficEstimatorServiceMappingRegistry.rb +126 -126
  83. data/lib/adwords_api/v201008/UserListServiceDriver.rb +2 -2
  84. data/lib/adwords_api/v201101/AdExtensionOverrideServiceDriver.rb +2 -2
  85. data/lib/adwords_api/v201101/AdGroupAdService.rb +2 -0
  86. data/lib/adwords_api/v201101/AdGroupAdServiceDriver.rb +2 -2
  87. data/lib/adwords_api/v201101/AdGroupCriterionService.rb +700 -700
  88. data/lib/adwords_api/v201101/AdGroupCriterionServiceDriver.rb +2 -2
  89. data/lib/adwords_api/v201101/AdGroupCriterionServiceMappingRegistry.rb +670 -670
  90. data/lib/adwords_api/v201101/AdGroupServiceDriver.rb +2 -2
  91. data/lib/adwords_api/v201101/AdParamServiceDriver.rb +2 -2
  92. data/lib/adwords_api/v201101/AlertServiceDriver.rb +1 -1
  93. data/lib/adwords_api/v201101/BulkMutateJobService.rb +2 -0
  94. data/lib/adwords_api/v201101/BulkMutateJobServiceDriver.rb +2 -2
  95. data/lib/adwords_api/v201101/BulkOpportunityService.rb +1367 -0
  96. data/lib/adwords_api/v201101/BulkOpportunityServiceDriver.rb +55 -0
  97. data/lib/adwords_api/v201101/BulkOpportunityServiceMappingRegistry.rb +1668 -0
  98. data/lib/adwords_api/v201101/BulkOpportunityServiceWrapper.rb +303 -0
  99. data/lib/adwords_api/v201101/CampaignAdExtensionServiceDriver.rb +2 -2
  100. data/lib/adwords_api/v201101/CampaignCriterionService.rb +216 -216
  101. data/lib/adwords_api/v201101/CampaignCriterionServiceDriver.rb +2 -2
  102. data/lib/adwords_api/v201101/CampaignCriterionServiceMappingRegistry.rb +234 -234
  103. data/lib/adwords_api/v201101/CampaignServiceDriver.rb +2 -2
  104. data/lib/adwords_api/v201101/CampaignTargetServiceDriver.rb +2 -2
  105. data/lib/adwords_api/v201101/ConversionTrackerService.rb +1105 -0
  106. data/lib/adwords_api/v201101/ConversionTrackerServiceDriver.rb +63 -0
  107. data/lib/adwords_api/v201101/ConversionTrackerServiceMappingRegistry.rb +1161 -0
  108. data/lib/adwords_api/v201101/ConversionTrackerServiceWrapper.rb +332 -0
  109. data/lib/adwords_api/v201101/CustomerSyncServiceDriver.rb +1 -1
  110. data/lib/adwords_api/v201101/DataServiceDriver.rb +2 -2
  111. data/lib/adwords_api/v201101/ExperimentServiceDriver.rb +2 -2
  112. data/lib/adwords_api/v201101/GeoLocationServiceDriver.rb +1 -1
  113. data/lib/adwords_api/v201101/InfoServiceDriver.rb +1 -1
  114. data/lib/adwords_api/v201101/MediaServiceDriver.rb +2 -2
  115. data/lib/adwords_api/v201101/ReportDefinitionServiceDriver.rb +3 -3
  116. data/lib/adwords_api/v201101/ReportDefinitionServiceWrapper.rb +14 -0
  117. data/lib/adwords_api/v201101/ServicedAccountServiceDriver.rb +1 -1
  118. data/lib/adwords_api/v201101/TargetingIdeaService.rb +1490 -1490
  119. data/lib/adwords_api/v201101/TargetingIdeaServiceDriver.rb +2 -2
  120. data/lib/adwords_api/v201101/TargetingIdeaServiceMappingRegistry.rb +507 -507
  121. data/lib/adwords_api/v201101/TrafficEstimatorService.rb +841 -841
  122. data/lib/adwords_api/v201101/TrafficEstimatorServiceDriver.rb +1 -1
  123. data/lib/adwords_api/v201101/TrafficEstimatorServiceMappingRegistry.rb +126 -126
  124. data/lib/adwords_api/v201101/UserListServiceDriver.rb +2 -2
  125. metadata +17 -5
@@ -0,0 +1,332 @@
1
+ # This file was automatically generated during the "rake generate" step of
2
+ # library setup.
3
+ require 'adwords_api/v201101/ConversionTrackerServiceDriver.rb'
4
+
5
+ module AdwordsApi
6
+ module V201101
7
+ module ConversionTrackerService
8
+
9
+ # Wrapper class for the v201101 ConversionTrackerService service.
10
+ # This class is automatically generated.
11
+ class ConversionTrackerServiceWrapper
12
+
13
+ # Holds the API object to which the wrapper belongs.
14
+ attr_reader :api
15
+
16
+ # Version and service utility fields.
17
+ attr_reader :version, :service
18
+
19
+ REGISTRY = AdwordsApi::V201101::ConversionTrackerService::DefaultMappingRegistry::LiteralRegistry
20
+ # This takes advantage of the code generated by soap4r to get the
21
+ # correct namespace for a given service. It accesses one of the fields
22
+ # in the description of the service's methods, which indicates the
23
+ # namespace.
24
+ # Since we're using a fixed version of soap4r (1.5.8), and this is
25
+ # automatically generated as part of the stub generation, it will
26
+ # always point to what we want.
27
+ NAMESPACE = 'https://adwords.google.com/api/adwords/cm/v201101'
28
+
29
+ # Holds a shortcut to the parent module.
30
+ # Use this to avoid typing the full class name when creating classes
31
+ # belonging to this service, e.g.
32
+ # service_object.module::ClassName
33
+ # instead of
34
+ # AdwordsApi::V201101::ConversionTrackerService::ClassName
35
+ # This will make it easier to migrate your code between API versions.
36
+ attr_reader :module
37
+
38
+ public
39
+
40
+ # Constructor for ConversionTrackerServiceWrapper.
41
+ #
42
+ # Args:
43
+ # - driver: SOAP::RPC::Driver object with the remote SOAP methods for
44
+ # this service
45
+ # - api: the API object to which the wrapper belongs
46
+ #
47
+ def initialize(driver, api)
48
+ @driver = driver
49
+ @api = api
50
+ @module = AdwordsApi::V201101::ConversionTrackerService
51
+ @version = :v201101
52
+ @service = :ConversionTrackerService
53
+ end
54
+
55
+ # Returns the namespace for this service.
56
+ def namespace
57
+ return NAMESPACE
58
+ end
59
+
60
+ private
61
+
62
+ # Converts from underscore_separated names to camelCase names.
63
+ #
64
+ # Args:
65
+ # - text: the text to be converted
66
+ #
67
+ def camel_case(text)
68
+ text.gsub(/_\w/) {|match| match[1..-1].upcase}
69
+ end
70
+
71
+ # Converts from camelCase names to underscore_separated names.
72
+ #
73
+ # Args:
74
+ # - text: the text to be converted
75
+ #
76
+ def underscore(text)
77
+ text.gsub(/[a-z0-9][A-Z]/) do |match|
78
+ match[0,1] + '_' + match[1,1].downcase
79
+ end
80
+ end
81
+
82
+ # Validates whether an object is of the correct type.
83
+ # This method is invoked by the hash to object converter during
84
+ # runtime to check the type validity of every object.
85
+ #
86
+ # Args:
87
+ # - object: the hash "object" being evaluated
88
+ # - type: the expected type (the class object itself)
89
+ #
90
+ # Returns:
91
+ # nil, upon success
92
+ #
93
+ # Raises:
94
+ # - ArgumentError: in case of an unexpected type
95
+ #
96
+ def validate_object(object, type)
97
+ return nil if object.is_a? type
98
+
99
+ wsdl_type_obj = type.new
100
+
101
+ if object.is_a? Hash
102
+ xsi_type = object[:xsi_type] or object['xsi_type']
103
+ if xsi_type
104
+ begin
105
+ subtype = @module.class_eval(xsi_type)
106
+ user_type_obj = subtype.new
107
+ rescue
108
+ raise ArgumentError, "Specified xsi_type '" + xsi_type +
109
+ "' is unknown"
110
+ end
111
+ unless user_type_obj.is_a? type
112
+ raise ArgumentError, "Specified xsi_type '" + xsi_type +
113
+ "' is not a subclass of " + type.to_s
114
+ end
115
+ else
116
+ object.each do |key, value|
117
+ if key.to_s != 'xsi_type'
118
+ if !wsdl_type_obj.respond_to?(camel_case(key.to_s).to_sym)
119
+ raise ArgumentError, "Unknown property '" + key.to_s +
120
+ "' for type " + type.to_s
121
+ end
122
+ end
123
+ end
124
+ end
125
+ end
126
+ return nil
127
+ end
128
+
129
+ # Sets a property on a real (soap4r-generated) object.
130
+ #
131
+ # Args:
132
+ # - object: the object being modified
133
+ # - property: the property being set
134
+ # - value: the value it's being set to
135
+ #
136
+ def set_object_property(object, property, value)
137
+ begin
138
+ object.send(property.to_s + '=', value)
139
+ rescue
140
+ object_class = object.class.name.split('::').last
141
+ error = AdsCommon::Errors::MissingPropertyError.new(
142
+ property, object_class)
143
+ message = "'Missing property `" + property.to_s +
144
+ "' for object class `" + object_class + "'"
145
+ raise(error, message)
146
+ end
147
+ end
148
+
149
+ public
150
+
151
+ # Converts dynamic objects (property hashes) into real soap4r objects.
152
+ # This is meant to be called when setting properties on a class, so
153
+ # the method receives an optional parameter specifying the class and
154
+ # property. This way, it's possible to determine the default type for
155
+ # the object if none is provided.
156
+ #
157
+ # Args:
158
+ # - object: the object being converted
159
+ # - parent_class: the class whose property is being set
160
+ # - property: the property being set
161
+ #
162
+ def convert_to_object(object, parent_class = nil, property = nil)
163
+ property = camel_case(property.to_s) if property
164
+ if object.is_a? Hash
165
+ # Process a hash.
166
+ specified_class = object[:xsi_type] or object['xsi_type']
167
+ default_class = nil
168
+ # Determine default class for this object, given the property
169
+ # being set.
170
+ if parent_class and property
171
+ parent = REGISTRY.schema_definition_from_class(parent_class)
172
+ element = parent.elements.entries.find do |entry|
173
+ entry.varname.to_s == property.to_s
174
+ end
175
+ default_class = element.mapped_class if element
176
+ end
177
+ validate_object(object, default_class)
178
+ real_class = nil
179
+ if specified_class
180
+ real_class = @module.class_eval(specified_class)
181
+ else
182
+ real_class = default_class
183
+ end
184
+ # Instance real object.
185
+ real_object = real_class.new
186
+ # Set each of its properties.
187
+ object.each do |entry, value|
188
+ entry = entry.to_s
189
+ unless entry == 'xsi_type'
190
+ if @api.config.read('service.use_ruby_names')
191
+ entry = camel_case(entry)
192
+ end
193
+ if value.is_a? Hash
194
+ # Recurse.
195
+ set_object_property(real_object, entry,
196
+ convert_to_object(value, real_class, entry))
197
+ elsif value.is_a? Array
198
+ set_object_property(real_object, entry,
199
+ value.map do |item|
200
+ # Recurse.
201
+ convert_to_object(item, real_class, entry)
202
+ end
203
+ )
204
+ else
205
+ set_object_property(real_object, entry, value)
206
+ end
207
+ end
208
+ end
209
+ return real_object
210
+ elsif object.is_a? Array
211
+ # Process an array
212
+ return object.map do |entry|
213
+ # Recurse.
214
+ convert_to_object(entry, parent_class, property)
215
+ end
216
+ else
217
+ return object
218
+ end
219
+ end
220
+
221
+ # Converts real soap4r objects into dynamic ones (property hashes).
222
+ # This is meant to be called for return objects of remote calls.
223
+ #
224
+ # Args:
225
+ # - object: the object being converted
226
+ #
227
+ def convert_from_object(object)
228
+ if object.class.name =~
229
+ /AdwordsApi::V201101::\w+::\w+/
230
+ # Handle soap4r object
231
+ object_class = REGISTRY.schema_definition_from_class(object.class)
232
+ if object_class.elements and !object_class.elements.entries.empty?
233
+ # Process complex object.
234
+ hash = {}
235
+ hash[:xsi_type] = object.class.name.split('::').last
236
+ object_class.elements.entries.each do |entry|
237
+ property = entry.varname.to_s
238
+ if object.respond_to? property and !property.include?('_Type')
239
+ value = object.send(property)
240
+ property_name = nil
241
+ if @api.config.read('service.use_ruby_names')
242
+ property_name = underscore(property).to_sym
243
+ else
244
+ property_name = property.to_sym
245
+ end
246
+ # Recurse.
247
+ hash[property_name] = convert_from_object(value) if value
248
+ end
249
+ end
250
+ return hash
251
+ else
252
+ # Process simple object.
253
+ parent = object.class.superclass
254
+ return parent.new(object)
255
+ end
256
+ elsif object.is_a? Array
257
+ # Handle arrays
258
+ return object.map do |entry|
259
+ # Recurse.
260
+ convert_from_object(entry)
261
+ end
262
+ else
263
+ # Handle native objects
264
+ return object
265
+ end
266
+ end
267
+
268
+
269
+ public
270
+
271
+ # Calls the {get}[http://code.google.com/apis/adwords/docs/reference/v201101/ConversionTrackerService.html#get] method of the ConversionTrackerService service.
272
+ # Check {the online documentation for this method}[http://code.google.com/apis/adwords/docs/reference/v201101/ConversionTrackerService.html#get].
273
+ #
274
+ # Args:
275
+ # - serviceSelector: AdwordsApi::V201101::ConversionTrackerService::Selector
276
+ #
277
+ # Returns:
278
+ # - rval: AdwordsApi::V201101::ConversionTrackerService::ConversionTrackerPage
279
+ #
280
+ # Raises:
281
+ # Error::ApiError (or a subclass thereof) if a SOAP fault occurs.
282
+ #
283
+ def get(serviceSelector)
284
+ begin
285
+ arg_array = []
286
+ validate_object(serviceSelector, AdwordsApi::V201101::ConversionTrackerService::Selector)
287
+ arg_array << convert_to_object(serviceSelector, AdwordsApi::V201101::ConversionTrackerService::Get,
288
+ 'serviceSelector')
289
+ # Construct request object and make API call
290
+ obj = AdwordsApi::V201101::ConversionTrackerService::Get.new(*arg_array)
291
+ reply = convert_from_object(@driver.get(obj))
292
+ reply = reply[:rval] if reply.include?(:rval)
293
+ return reply
294
+ rescue SOAP::FaultError => fault
295
+ raise AdwordsApi::Errors.create_api_exception(fault,
296
+ self)
297
+ end
298
+ end
299
+
300
+ # Calls the {mutate}[http://code.google.com/apis/adwords/docs/reference/v201101/ConversionTrackerService.html#mutate] method of the ConversionTrackerService service.
301
+ # Check {the online documentation for this method}[http://code.google.com/apis/adwords/docs/reference/v201101/ConversionTrackerService.html#mutate].
302
+ #
303
+ # Args:
304
+ # - operations: SOAP::SOAPArray of AdwordsApi::V201101::ConversionTrackerService::ConversionTrackerOperation
305
+ #
306
+ # Returns:
307
+ # - rval: AdwordsApi::V201101::ConversionTrackerService::ConversionTrackerReturnValue
308
+ #
309
+ # Raises:
310
+ # Error::ApiError (or a subclass thereof) if a SOAP fault occurs.
311
+ #
312
+ def mutate(operations)
313
+ begin
314
+ arg_array = []
315
+ validate_object(operations, SOAP::SOAPArray)
316
+ arg_array << convert_to_object(operations, AdwordsApi::V201101::ConversionTrackerService::Mutate,
317
+ 'operations')
318
+ # Construct request object and make API call
319
+ obj = AdwordsApi::V201101::ConversionTrackerService::Mutate.new(*arg_array)
320
+ reply = convert_from_object(@driver.mutate(obj))
321
+ reply = reply[:rval] if reply.include?(:rval)
322
+ return reply
323
+ rescue SOAP::FaultError => fault
324
+ raise AdwordsApi::Errors.create_api_exception(fault,
325
+ self)
326
+ end
327
+ end
328
+
329
+ end
330
+ end
331
+ end
332
+ end
@@ -16,7 +16,7 @@ class CustomerSyncServiceInterface < ::SOAP::RPC::Driver
16
16
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/ch/v201101", "getResponse"]] ],
17
17
  { :request_style => :document, :request_use => :literal,
18
18
  :response_style => :document, :response_use => :literal,
19
- :faults => {"AdwordsApi::V201101::CustomerSyncService::ApiException_"=>{:encodingstyle=>"document", :namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/ch/v201101", :use=>"literal", :name=>"ApiException"}} }
19
+ :faults => {"AdwordsApi::V201101::CustomerSyncService::ApiException_"=>{:encodingstyle=>"document", :use=>"literal", :namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/ch/v201101", :name=>"ApiException"}} }
20
20
  ]
21
21
  ]
22
22
 
@@ -16,7 +16,7 @@ class DataServiceInterface < ::SOAP::RPC::Driver
16
16
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/cm/v201101", "getAdGroupBidLandscapeResponse"]] ],
17
17
  { :request_style => :document, :request_use => :literal,
18
18
  :response_style => :document, :response_use => :literal,
19
- :faults => {"AdwordsApi::V201101::DataService::ApiException"=>{:encodingstyle=>"document", :namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/cm/v201101", :use=>"literal", :name=>"ApiException"}} }
19
+ :faults => {"AdwordsApi::V201101::DataService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/cm/v201101", :name=>"ApiException"}} }
20
20
  ],
21
21
  [ "",
22
22
  "getCriterionBidLandscape",
@@ -24,7 +24,7 @@ class DataServiceInterface < ::SOAP::RPC::Driver
24
24
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/cm/v201101", "getCriterionBidLandscapeResponse"]] ],
25
25
  { :request_style => :document, :request_use => :literal,
26
26
  :response_style => :document, :response_use => :literal,
27
- :faults => {"AdwordsApi::V201101::DataService::ApiException"=>{:encodingstyle=>"document", :namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/cm/v201101", :use=>"literal", :name=>"ApiException"}} }
27
+ :faults => {"AdwordsApi::V201101::DataService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/cm/v201101", :name=>"ApiException"}} }
28
28
  ]
29
29
  ]
30
30
 
@@ -16,7 +16,7 @@ class ExperimentServiceInterface < ::SOAP::RPC::Driver
16
16
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/cm/v201101", "getResponse"]] ],
17
17
  { :request_style => :document, :request_use => :literal,
18
18
  :response_style => :document, :response_use => :literal,
19
- :faults => {"AdwordsApi::V201101::ExperimentService::ApiException"=>{:encodingstyle=>"document", :namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/cm/v201101", :use=>"literal", :name=>"ApiException"}} }
19
+ :faults => {"AdwordsApi::V201101::ExperimentService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/cm/v201101", :name=>"ApiException"}} }
20
20
  ],
21
21
  [ "",
22
22
  "mutate",
@@ -24,7 +24,7 @@ class ExperimentServiceInterface < ::SOAP::RPC::Driver
24
24
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/cm/v201101", "mutateResponse"]] ],
25
25
  { :request_style => :document, :request_use => :literal,
26
26
  :response_style => :document, :response_use => :literal,
27
- :faults => {"AdwordsApi::V201101::ExperimentService::ApiException"=>{:encodingstyle=>"document", :namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/cm/v201101", :use=>"literal", :name=>"ApiException"}} }
27
+ :faults => {"AdwordsApi::V201101::ExperimentService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/cm/v201101", :name=>"ApiException"}} }
28
28
  ]
29
29
  ]
30
30
 
@@ -16,7 +16,7 @@ class GeoLocationServiceInterface < ::SOAP::RPC::Driver
16
16
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/cm/v201101", "getResponse"]] ],
17
17
  { :request_style => :document, :request_use => :literal,
18
18
  :response_style => :document, :response_use => :literal,
19
- :faults => {"AdwordsApi::V201101::GeoLocationService::ApiException"=>{:encodingstyle=>"document", :namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/cm/v201101", :use=>"literal", :name=>"ApiException"}} }
19
+ :faults => {"AdwordsApi::V201101::GeoLocationService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/cm/v201101", :name=>"ApiException"}} }
20
20
  ]
21
21
  ]
22
22
 
@@ -16,7 +16,7 @@ class InfoServiceInterface < ::SOAP::RPC::Driver
16
16
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/info/v201101", "getResponse"]] ],
17
17
  { :request_style => :document, :request_use => :literal,
18
18
  :response_style => :document, :response_use => :literal,
19
- :faults => {"AdwordsApi::V201101::InfoService::ApiException_"=>{:encodingstyle=>"document", :namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/info/v201101", :use=>"literal", :name=>"ApiException"}} }
19
+ :faults => {"AdwordsApi::V201101::InfoService::ApiException_"=>{:encodingstyle=>"document", :use=>"literal", :namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/info/v201101", :name=>"ApiException"}} }
20
20
  ]
21
21
  ]
22
22
 
@@ -16,7 +16,7 @@ class MediaServiceInterface < ::SOAP::RPC::Driver
16
16
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/cm/v201101", "getResponse"]] ],
17
17
  { :request_style => :document, :request_use => :literal,
18
18
  :response_style => :document, :response_use => :literal,
19
- :faults => {"AdwordsApi::V201101::MediaService::ApiException"=>{:encodingstyle=>"document", :namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/cm/v201101", :use=>"literal", :name=>"ApiException"}} }
19
+ :faults => {"AdwordsApi::V201101::MediaService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/cm/v201101", :name=>"ApiException"}} }
20
20
  ],
21
21
  [ "",
22
22
  "upload",
@@ -24,7 +24,7 @@ class MediaServiceInterface < ::SOAP::RPC::Driver
24
24
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/cm/v201101", "uploadResponse"]] ],
25
25
  { :request_style => :document, :request_use => :literal,
26
26
  :response_style => :document, :response_use => :literal,
27
- :faults => {"AdwordsApi::V201101::MediaService::ApiException"=>{:encodingstyle=>"document", :namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/cm/v201101", :use=>"literal", :name=>"ApiException"}} }
27
+ :faults => {"AdwordsApi::V201101::MediaService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/cm/v201101", :name=>"ApiException"}} }
28
28
  ]
29
29
  ]
30
30
 
@@ -16,7 +16,7 @@ class ReportDefinitionServiceInterface < ::SOAP::RPC::Driver
16
16
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/cm/v201101", "getResponse"]] ],
17
17
  { :request_style => :document, :request_use => :literal,
18
18
  :response_style => :document, :response_use => :literal,
19
- :faults => {"AdwordsApi::V201101::ReportDefinitionService::ApiException"=>{:encodingstyle=>"document", :namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/cm/v201101", :use=>"literal", :name=>"ApiException"}} }
19
+ :faults => {"AdwordsApi::V201101::ReportDefinitionService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/cm/v201101", :name=>"ApiException"}} }
20
20
  ],
21
21
  [ "",
22
22
  "getReportFields",
@@ -24,7 +24,7 @@ class ReportDefinitionServiceInterface < ::SOAP::RPC::Driver
24
24
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/cm/v201101", "getReportFieldsResponse"]] ],
25
25
  { :request_style => :document, :request_use => :literal,
26
26
  :response_style => :document, :response_use => :literal,
27
- :faults => {"AdwordsApi::V201101::ReportDefinitionService::ApiException"=>{:encodingstyle=>"document", :namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/cm/v201101", :use=>"literal", :name=>"ApiException"}} }
27
+ :faults => {"AdwordsApi::V201101::ReportDefinitionService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/cm/v201101", :name=>"ApiException"}} }
28
28
  ],
29
29
  [ "",
30
30
  "mutate",
@@ -32,7 +32,7 @@ class ReportDefinitionServiceInterface < ::SOAP::RPC::Driver
32
32
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/cm/v201101", "mutateResponse"]] ],
33
33
  { :request_style => :document, :request_use => :literal,
34
34
  :response_style => :document, :response_use => :literal,
35
- :faults => {"AdwordsApi::V201101::ReportDefinitionService::ApiException"=>{:encodingstyle=>"document", :namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/cm/v201101", :use=>"literal", :name=>"ApiException"}} }
35
+ :faults => {"AdwordsApi::V201101::ReportDefinitionService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/cm/v201101", :name=>"ApiException"}} }
36
36
  ]
37
37
  ]
38
38
 
@@ -358,6 +358,20 @@
358
358
  end
359
359
  end
360
360
 
361
+ # <i>Extension method</i> -- Calls the
362
+ # AdwordsApi::Extensions.download_report method with +self+ as the
363
+ # first parameter.
364
+ def download_report(report_definition_id)
365
+ return AdwordsApi::Extensions.download_report(self, report_definition_id)
366
+ end
367
+
368
+ # <i>Extension method</i> -- Calls the
369
+ # AdwordsApi::Extensions.download_report_as_file method with +self+ as the
370
+ # first parameter.
371
+ def download_report_as_file(report_definition_id, path)
372
+ return AdwordsApi::Extensions.download_report_as_file(self, report_definition_id, path)
373
+ end
374
+
361
375
  end
362
376
  end
363
377
  end