adwords4r 11.1.0 → 12.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. data/ChangeLog.txt +4 -0
  2. data/Rakefile +76 -70
  3. data/examples/campaign.rb +40 -0
  4. data/examples/{old/framework.rb → framework.rb} +0 -0
  5. data/examples/{old/get_free_usage_this_month.rb → get_free_usage_this_month.rb} +8 -6
  6. data/examples/get_unit_count.rb +21 -0
  7. data/examples/keyword_suggestions.rb +179 -0
  8. data/examples/keyword_tool_demo.rb +31 -0
  9. data/examples/reports.rb +6 -6
  10. data/examples/traffic_estimator.rb +34 -0
  11. data/lib/adwords4r.rb +26 -19
  12. data/lib/adwords4r/credentials.rb +4 -2
  13. data/lib/adwords4r/services.rb +4 -2
  14. data/lib/adwords4r/v11/AccountServiceDriver.rb +3 -3
  15. data/lib/adwords4r/v11/AdGroupServiceDriver.rb +8 -8
  16. data/lib/adwords4r/v11/AdServiceDriver.rb +10 -10
  17. data/lib/adwords4r/v11/CampaignServiceDriver.rb +10 -10
  18. data/lib/adwords4r/v11/CriterionServiceDriver.rb +9 -9
  19. data/lib/adwords4r/v11/InfoServiceDriver.rb +8 -8
  20. data/lib/adwords4r/v11/KeywordToolServiceDriver.rb +2 -2
  21. data/lib/adwords4r/v11/ReportServiceDriver.rb +7 -7
  22. data/lib/adwords4r/v11/SiteSuggestionServiceDriver.rb +4 -4
  23. data/lib/adwords4r/v11/TrafficEstimatorServiceDriver.rb +4 -4
  24. data/lib/adwords4r/{v10 → v12}/AccountService.rb +13 -32
  25. data/lib/adwords4r/{v10 → v12}/AccountServiceDriver.rb +12 -20
  26. data/lib/adwords4r/{v10 → v12}/AccountServiceMappingRegistry.rb +23 -38
  27. data/lib/adwords4r/{v10 → v12}/AdGroupService.rb +43 -37
  28. data/lib/adwords4r/{v10 → v12}/AdGroupServiceDriver.rb +27 -27
  29. data/lib/adwords4r/{v10 → v12}/AdGroupServiceMappingRegistry.rb +46 -42
  30. data/lib/adwords4r/{v10 → v12}/AdService.rb +68 -56
  31. data/lib/adwords4r/{v10 → v12}/AdServiceDriver.rb +33 -33
  32. data/lib/adwords4r/{v10 → v12}/AdServiceMappingRegistry.rb +113 -105
  33. data/lib/adwords4r/{v10 → v12}/CampaignService.rb +99 -44
  34. data/lib/adwords4r/{v10 → v12}/CampaignServiceDriver.rb +41 -33
  35. data/lib/adwords4r/{v10 → v12}/CampaignServiceMappingRegistry.rb +143 -65
  36. data/lib/adwords4r/{v10 → v12}/CriterionService.rb +46 -43
  37. data/lib/adwords4r/{v10 → v12}/CriterionServiceDriver.rb +30 -30
  38. data/lib/adwords4r/{v10 → v12}/CriterionServiceMappingRegistry.rb +67 -65
  39. data/lib/adwords4r/{v10 → v12}/InfoService.rb +19 -19
  40. data/lib/adwords4r/{v10 → v12}/InfoServiceDriver.rb +27 -27
  41. data/lib/adwords4r/{v10 → v12}/InfoServiceMappingRegistry.rb +25 -25
  42. data/lib/adwords4r/{v10 → v12}/KeywordToolService.rb +12 -12
  43. data/lib/adwords4r/{v10 → v12}/KeywordToolServiceDriver.rb +9 -9
  44. data/lib/adwords4r/{v10 → v12}/KeywordToolServiceMappingRegistry.rb +23 -23
  45. data/lib/adwords4r/v12/ReportService.rb +322 -0
  46. data/lib/adwords4r/{v10 → v12}/ReportServiceDriver.rb +29 -21
  47. data/lib/adwords4r/v12/ReportServiceMappingRegistry.rb +298 -0
  48. data/lib/adwords4r/{v10 → v12}/SiteSuggestionService.rb +18 -18
  49. data/lib/adwords4r/{v10 → v12}/SiteSuggestionServiceDriver.rb +15 -15
  50. data/lib/adwords4r/{v10 → v12}/SiteSuggestionServiceMappingRegistry.rb +45 -45
  51. data/lib/adwords4r/{v10 → v12}/TrafficEstimatorService.rb +29 -29
  52. data/lib/adwords4r/{v10 → v12}/TrafficEstimatorServiceDriver.rb +15 -15
  53. data/lib/adwords4r/{v10 → v12}/TrafficEstimatorServiceMappingRegistry.rb +55 -55
  54. data/svn-commit.2.tmp +60 -0
  55. data/svn-commit.tmp +60 -0
  56. metadata +41 -38
  57. data/examples/old/campaign.rb +0 -40
  58. data/examples/old/get_unit_count.rb +0 -21
  59. data/examples/old/keyword_tool_demo.rb +0 -30
  60. data/examples/old/traffic_estimator.rb +0 -34
  61. data/lib/adwords4r/v10/ReportService.rb +0 -652
  62. data/lib/adwords4r/v10/ReportServiceMappingRegistry.rb +0 -559
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # Use adwords4r in parent dir
4
+ $LOAD_PATH.unshift '../lib/'
5
+
6
+ require 'adwords4r'
7
+
8
+ def printkw(kw, gname)
9
+ puts "#{gname} #{kw.advertiserCompetitionScale} " +
10
+ "#{kw.searchVolumeScale} #{kw.text}"
11
+ end
12
+
13
+ begin
14
+ if (ARGV.length < 1)
15
+ puts "Usage: #$0 <url>"
16
+ exit
17
+ end
18
+ adwords = AdWords::API.new
19
+ result = adwords.getKeywordsFromSite(ARGV[0], true, [], [])
20
+ groups = result.getKeywordsFromSiteReturn.groups
21
+ kws = result.getKeywordsFromSiteReturn.keywords
22
+ puts "GroupName AdvertiserCompetitionScale searchVolumeScale text"
23
+ kws.each {|kw| printkw(kw, groups[kw.groupId.to_i])}
24
+
25
+ rescue AdWords::Error::UnknownAPICall => e
26
+ puts e
27
+ rescue AdWords::Error::ApiError => e
28
+ puts e.code
29
+ puts e.message
30
+ end
31
+
@@ -91,7 +91,7 @@ def main()
91
91
 
92
92
  if status == 'Completed'
93
93
  report_url = adwords.getReportDownloadUrl(job_id).
94
- getReportDownloadUrlReturn
94
+ getReportDownloadUrlReturn
95
95
  puts 'Report is completed. Downloading report from %s' % report_url
96
96
 
97
97
  # Download the report via the HTTPClient library and write it to disk.
@@ -102,8 +102,8 @@ def main()
102
102
  report_data = client.get_content(report_url)
103
103
  file_name = '%s.xml' % report_name # Add path to write report elsewhere.
104
104
  begin
105
- open(file_name, 'w') {|file| file.puts(report_data)}
106
- puts 'Report has been written to %s' % file_name
105
+ open(file_name, 'w') {|file| file.puts(report_data)}
106
+ puts 'Report has been written to %s' % file_name
107
107
 
108
108
  rescue Errno::ENOENT, Errno::EACCES => e
109
109
  puts 'Unable to write file: %s' % e
@@ -146,11 +146,11 @@ def main()
146
146
  puts 'Source: %s' % e.backtrace.first
147
147
 
148
148
  ensure
149
- # Display API unit usage information. This data is stored as a class variable
150
- # in the AdWords::API class and accessed via static methods.
149
+ # Display API unit usage information. This data is stored as a class
150
+ # variable in the AdWords::API class and accessed via static methods.
151
151
  # AdWords::API.get_total_units() returns a running total of units used in
152
152
  # the scope of the current program.
153
- # AdWords::API.get_last_units() returns the number used in the last API call.
153
+ # AdWords::API.get_last_units() returns the number used in the last call.
154
154
 
155
155
  puts
156
156
  puts '%d API units consumed total (%d in last call).' %
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # Use adwords4r in parent dir
4
+ $LOAD_PATH.unshift '../lib/'
5
+
6
+ require 'adwords4r'
7
+
8
+ SEP = "---"
9
+
10
+ def dumpObj(o)
11
+ str = ""
12
+ o.instance_variables.each { |v| str << dumpAttr(o, v)}
13
+ return str << SEP
14
+ end
15
+
16
+ def dumpAttr(o, v)
17
+ name = v.sub(/@/,'')
18
+ value = eval("o.#{name}.to_s")
19
+ return "#{name}: #{value}\n"
20
+ end
21
+
22
+ begin
23
+ adwords = AdWords::API.new
24
+
25
+ res = adwords.estimateKeywordList([AdWords::KeywordRequest.new(
26
+ nil, 50000, false, 'flowers', 'Broad')]).estimateKeywordListReturn
27
+ res.each {|c| puts dumpObj(c)}
28
+
29
+ rescue AdWords::Error::UnknownAPICall => e
30
+ puts e
31
+ rescue AdWords::Error::ApiError => e
32
+ puts e.code
33
+ puts e.message
34
+ end
@@ -27,7 +27,7 @@ module SOAP
27
27
  end
28
28
 
29
29
  module AdWords
30
-
30
+
31
31
  class API
32
32
 
33
33
  @@total_units = 0
@@ -36,7 +36,7 @@ module AdWords
36
36
  def API.add_total_units(increment)
37
37
  @@total_units += increment
38
38
  end
39
-
39
+
40
40
  def API.get_total_units()
41
41
  return @@total_units
42
42
  end
@@ -48,11 +48,12 @@ module AdWords
48
48
  def API.get_last_units()
49
49
  return @@last_units
50
50
  end
51
-
51
+
52
52
  attr_reader :credentials, :drivers, :version
53
53
  @methodMap = Hash.new
54
-
55
- def initialize(credentials = AdWordsCredentials.new, version = Service.getVersions.sort.last)
54
+
55
+ def initialize(credentials = AdWordsCredentials.new,
56
+ version = Service.getVersions.sort.last)
56
57
  @credentials, @version = credentials, version
57
58
  @drivers = Hash.new
58
59
  prepareDrivers
@@ -72,7 +73,8 @@ module AdWords
72
73
  end
73
74
  # Handle AdWords Application-level error
74
75
  rescue SOAP::FaultError => fault
75
- raise(Error::ApiError.new(fault), "#{methodName} Call Failed: #{fault.faultstring.to_s}", caller)
76
+ raise(Error::ApiError.new(fault),
77
+ "#{methodName} Call Failed: #{fault.faultstring.to_s}", caller)
76
78
  end
77
79
 
78
80
  def prepareDrivers()
@@ -124,13 +126,16 @@ module AdWords
124
126
  class Error
125
127
  class Error < StandardError; end
126
128
 
127
- # Raised if a call is made to a method that does not exist in the AdWords SOAP API
129
+ # Raised if a call is made to a method that does not exist
130
+ # in the AdWords SOAP API
128
131
  class UnknownAPICall < Error; end
129
132
 
130
- # Raised if an attempt is made to instantiate a type that does not exist in the AdWords SOAP API
133
+ # Raised if an attempt is made to instantiate a type that does not exist
134
+ # in the AdWords SOAP API
131
135
  class UnknownType < Error; end
132
136
 
133
- # Raised if a call returns with a SOAP error, gives you easy access to adwords error fields
137
+ # Raised if a call returns with a SOAP error,
138
+ # gives you easy access to adwords error fields
134
139
  class ApiError < Error
135
140
  attr_accessor :soap_faultcode
136
141
  attr_accessor :soap_faultstring
@@ -146,10 +151,12 @@ module AdWords
146
151
  attr_accessor :textLength
147
152
  attr_accessor :trigger
148
153
 
149
- # These *_ex attributes have been added to correct deficiencies with the initial implementation.
150
- # They should expose more useful information (i.e. text of errors instead of a SOAP element)
151
- # and proper mapping of a fault's trigger and code.
152
- # The old attributes are left behind for backward compatibility; hopefully this isn't too confusing!
154
+ # These *_ex attributes have been added to correct deficiencies with the
155
+ # initial implementation.
156
+ # They should expose more useful information (i.e. text of errors instead
157
+ # of a SOAP element) and proper mapping of a fault's trigger and code.
158
+ # The old attributes are left behind for backward compatibility;
159
+ # hopefully this isn't too confusing!
153
160
  attr_accessor :trigger_ex
154
161
  attr_accessor :soap_faultcode_ex
155
162
  attr_accessor :soap_faultstring_ex
@@ -166,7 +173,7 @@ module AdWords
166
173
  @internal = protect { fault.internal }
167
174
  @message = protect { fault.message }
168
175
  @trigger_ex = protect { fault.trigger }
169
- @code_ex = protect { fault.code }
176
+ @code_ex = protect { fault.code }
170
177
  if protect { fault.errors and fault.errors.size > 0 }
171
178
  error = fault.errors.first
172
179
  @code = protect { error.code }
@@ -197,11 +204,11 @@ module AdWords
197
204
  def on_inbound(xml, opt)
198
205
  # Parse the response XML string for the <operations> header value.
199
206
  if xml =~ %r{<units.+?>(\d+)</units>}
200
- units = $1.to_i
201
- # Since we don't really have an instance of a useful class here,
202
- # we're stuck sticking the value in a class variable for AdWords::API.
203
- AdWords::API.set_last_units(units)
204
- AdWords::API.add_total_units(units)
207
+ units = $1.to_i
208
+ # Since we don't really have an instance of a useful class here,
209
+ # we're stuck sticking the value in a class variable for AdWords::API.
210
+ AdWords::API.set_last_units(units)
211
+ AdWords::API.add_total_units(units)
205
212
  end
206
213
 
207
214
  return xml
@@ -20,7 +20,8 @@ module AdWords
20
20
 
21
21
  def getDefaults()
22
22
  cred = Hash.new
23
- IO.foreach("#{ENV['HOME']}/adwords.properties") {|line| addCredential(cred, line.split('=')) if !(line =~ /^#/)}
23
+ IO.foreach("#{ENV['HOME']}/adwords.properties") {|line|
24
+ addCredential(cred, line.split('=')) if !(line =~ /^#/)}
24
25
  return cred
25
26
  end
26
27
 
@@ -36,7 +37,8 @@ module AdWords
36
37
  else
37
38
  credentials = getDefaults()
38
39
  end
39
- credentials.each {|key, value| @handlers << HeaderHandler.new(key, value) if !(key =~ /^alternateUrl/)}
40
+ credentials.each {|key, value|
41
+ @handlers << HeaderHandler.new(key, value) if !(key =~ /^alternateUrl/)}
40
42
  @alternateUrl = credentials['alternateUrl']
41
43
  end
42
44
  end
@@ -2,8 +2,10 @@ module AdWords
2
2
  class Service
3
3
 
4
4
  @services = {
5
- 10 => ["Account", "AdGroup", "Ad", "Campaign", "Criterion", "Info", "KeywordTool", "Report", "SiteSuggestion", "TrafficEstimator"],
6
- 11 => ["Account", "AdGroup", "Ad", "Campaign", "Criterion", "Info", "KeywordTool", "Report", "SiteSuggestion", "TrafficEstimator"]
5
+ 11 => ["Account", "AdGroup", "Ad", "Campaign", "Criterion", "Info",
6
+ "KeywordTool", "Report", "SiteSuggestion", "TrafficEstimator"],
7
+ 12 => ["Account", "AdGroup", "Ad", "Campaign", "Criterion", "Info",
8
+ "KeywordTool", "Report", "SiteSuggestion", "TrafficEstimator"]
7
9
  }
8
10
 
9
11
  def self.getVersions
@@ -15,7 +15,7 @@ class AccountInterface < ::SOAP::RPC::Driver
15
15
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "getAccountInfoResponse"]] ],
16
16
  { :request_style => :document, :request_use => :literal,
17
17
  :response_style => :document, :response_use => :literal,
18
- :faults => {"AdWords::AccountService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
18
+ :faults => {"AdWords::AccountService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
19
19
  ],
20
20
  [ "",
21
21
  "getClientAccounts",
@@ -23,7 +23,7 @@ class AccountInterface < ::SOAP::RPC::Driver
23
23
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "getClientAccountsResponse"]] ],
24
24
  { :request_style => :document, :request_use => :literal,
25
25
  :response_style => :document, :response_use => :literal,
26
- :faults => {"AdWords::AccountService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
26
+ :faults => {"AdWords::AccountService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
27
27
  ],
28
28
  [ "",
29
29
  "updateAccountInfo",
@@ -31,7 +31,7 @@ class AccountInterface < ::SOAP::RPC::Driver
31
31
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "updateAccountInfoResponse"]] ],
32
32
  { :request_style => :document, :request_use => :literal,
33
33
  :response_style => :document, :response_use => :literal,
34
- :faults => {"AdWords::AccountService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
34
+ :faults => {"AdWords::AccountService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
35
35
  ]
36
36
  ]
37
37
 
@@ -15,7 +15,7 @@ class AdGroupInterface < ::SOAP::RPC::Driver
15
15
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "addAdGroupResponse"]] ],
16
16
  { :request_style => :document, :request_use => :literal,
17
17
  :response_style => :document, :response_use => :literal,
18
- :faults => {"AdWords::AdGroupService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
18
+ :faults => {"AdWords::AdGroupService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
19
19
  ],
20
20
  [ "",
21
21
  "addAdGroupList",
@@ -23,7 +23,7 @@ class AdGroupInterface < ::SOAP::RPC::Driver
23
23
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "addAdGroupListResponse"]] ],
24
24
  { :request_style => :document, :request_use => :literal,
25
25
  :response_style => :document, :response_use => :literal,
26
- :faults => {"AdWords::AdGroupService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
26
+ :faults => {"AdWords::AdGroupService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
27
27
  ],
28
28
  [ "",
29
29
  "getAdGroup",
@@ -31,7 +31,7 @@ class AdGroupInterface < ::SOAP::RPC::Driver
31
31
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "getAdGroupResponse"]] ],
32
32
  { :request_style => :document, :request_use => :literal,
33
33
  :response_style => :document, :response_use => :literal,
34
- :faults => {"AdWords::AdGroupService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
34
+ :faults => {"AdWords::AdGroupService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
35
35
  ],
36
36
  [ "",
37
37
  "getAdGroupList",
@@ -39,7 +39,7 @@ class AdGroupInterface < ::SOAP::RPC::Driver
39
39
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "getAdGroupListResponse"]] ],
40
40
  { :request_style => :document, :request_use => :literal,
41
41
  :response_style => :document, :response_use => :literal,
42
- :faults => {"AdWords::AdGroupService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
42
+ :faults => {"AdWords::AdGroupService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
43
43
  ],
44
44
  [ "",
45
45
  "getAdGroupStats",
@@ -47,7 +47,7 @@ class AdGroupInterface < ::SOAP::RPC::Driver
47
47
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "getAdGroupStatsResponse"]] ],
48
48
  { :request_style => :document, :request_use => :literal,
49
49
  :response_style => :document, :response_use => :literal,
50
- :faults => {"AdWords::AdGroupService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
50
+ :faults => {"AdWords::AdGroupService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
51
51
  ],
52
52
  [ "",
53
53
  "getAllAdGroups",
@@ -55,7 +55,7 @@ class AdGroupInterface < ::SOAP::RPC::Driver
55
55
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "getAllAdGroupsResponse"]] ],
56
56
  { :request_style => :document, :request_use => :literal,
57
57
  :response_style => :document, :response_use => :literal,
58
- :faults => {"AdWords::AdGroupService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
58
+ :faults => {"AdWords::AdGroupService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
59
59
  ],
60
60
  [ "",
61
61
  "updateAdGroup",
@@ -63,7 +63,7 @@ class AdGroupInterface < ::SOAP::RPC::Driver
63
63
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "updateAdGroupResponse"]] ],
64
64
  { :request_style => :document, :request_use => :literal,
65
65
  :response_style => :document, :response_use => :literal,
66
- :faults => {"AdWords::AdGroupService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
66
+ :faults => {"AdWords::AdGroupService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
67
67
  ],
68
68
  [ "",
69
69
  "updateAdGroupList",
@@ -71,7 +71,7 @@ class AdGroupInterface < ::SOAP::RPC::Driver
71
71
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "updateAdGroupListResponse"]] ],
72
72
  { :request_style => :document, :request_use => :literal,
73
73
  :response_style => :document, :response_use => :literal,
74
- :faults => {"AdWords::AdGroupService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
74
+ :faults => {"AdWords::AdGroupService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
75
75
  ]
76
76
  ]
77
77
 
@@ -15,7 +15,7 @@ class AdInterface < ::SOAP::RPC::Driver
15
15
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "addAdsResponse"]] ],
16
16
  { :request_style => :document, :request_use => :literal,
17
17
  :response_style => :document, :response_use => :literal,
18
- :faults => {"AdWords::AdService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
18
+ :faults => {"AdWords::AdService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
19
19
  ],
20
20
  [ "",
21
21
  "checkAds",
@@ -23,7 +23,7 @@ class AdInterface < ::SOAP::RPC::Driver
23
23
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "checkAdsResponse"]] ],
24
24
  { :request_style => :document, :request_use => :literal,
25
25
  :response_style => :document, :response_use => :literal,
26
- :faults => {"AdWords::AdService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
26
+ :faults => {"AdWords::AdService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
27
27
  ],
28
28
  [ "",
29
29
  "findBusinesses",
@@ -31,7 +31,7 @@ class AdInterface < ::SOAP::RPC::Driver
31
31
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "findBusinessesResponse"]] ],
32
32
  { :request_style => :document, :request_use => :literal,
33
33
  :response_style => :document, :response_use => :literal,
34
- :faults => {"AdWords::AdService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
34
+ :faults => {"AdWords::AdService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
35
35
  ],
36
36
  [ "",
37
37
  "getActiveAds",
@@ -39,7 +39,7 @@ class AdInterface < ::SOAP::RPC::Driver
39
39
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "getActiveAdsResponse"]] ],
40
40
  { :request_style => :document, :request_use => :literal,
41
41
  :response_style => :document, :response_use => :literal,
42
- :faults => {"AdWords::AdService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
42
+ :faults => {"AdWords::AdService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
43
43
  ],
44
44
  [ "",
45
45
  "getAd",
@@ -47,7 +47,7 @@ class AdInterface < ::SOAP::RPC::Driver
47
47
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "getAdResponse"]] ],
48
48
  { :request_style => :document, :request_use => :literal,
49
49
  :response_style => :document, :response_use => :literal,
50
- :faults => {"AdWords::AdService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
50
+ :faults => {"AdWords::AdService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
51
51
  ],
52
52
  [ "",
53
53
  "getAdStats",
@@ -55,7 +55,7 @@ class AdInterface < ::SOAP::RPC::Driver
55
55
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "getAdStatsResponse"]] ],
56
56
  { :request_style => :document, :request_use => :literal,
57
57
  :response_style => :document, :response_use => :literal,
58
- :faults => {"AdWords::AdService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
58
+ :faults => {"AdWords::AdService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
59
59
  ],
60
60
  [ "",
61
61
  "getAllAds",
@@ -63,7 +63,7 @@ class AdInterface < ::SOAP::RPC::Driver
63
63
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "getAllAdsResponse"]] ],
64
64
  { :request_style => :document, :request_use => :literal,
65
65
  :response_style => :document, :response_use => :literal,
66
- :faults => {"AdWords::AdService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
66
+ :faults => {"AdWords::AdService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
67
67
  ],
68
68
  [ "",
69
69
  "getMyBusinesses",
@@ -71,7 +71,7 @@ class AdInterface < ::SOAP::RPC::Driver
71
71
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "getMyBusinessesResponse"]] ],
72
72
  { :request_style => :document, :request_use => :literal,
73
73
  :response_style => :document, :response_use => :literal,
74
- :faults => {"AdWords::AdService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
74
+ :faults => {"AdWords::AdService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
75
75
  ],
76
76
  [ "",
77
77
  "getMyVideos",
@@ -79,7 +79,7 @@ class AdInterface < ::SOAP::RPC::Driver
79
79
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "getMyVideosResponse"]] ],
80
80
  { :request_style => :document, :request_use => :literal,
81
81
  :response_style => :document, :response_use => :literal,
82
- :faults => {"AdWords::AdService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
82
+ :faults => {"AdWords::AdService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
83
83
  ],
84
84
  [ "",
85
85
  "updateAds",
@@ -87,7 +87,7 @@ class AdInterface < ::SOAP::RPC::Driver
87
87
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "updateAdsResponse"]] ],
88
88
  { :request_style => :document, :request_use => :literal,
89
89
  :response_style => :document, :response_use => :literal,
90
- :faults => {"AdWords::AdService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
90
+ :faults => {"AdWords::AdService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
91
91
  ]
92
92
  ]
93
93
 
@@ -15,7 +15,7 @@ class CampaignInterface < ::SOAP::RPC::Driver
15
15
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "addCampaignResponse"]] ],
16
16
  { :request_style => :document, :request_use => :literal,
17
17
  :response_style => :document, :response_use => :literal,
18
- :faults => {"AdWords::CampaignService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
18
+ :faults => {"AdWords::CampaignService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
19
19
  ],
20
20
  [ "",
21
21
  "addCampaignList",
@@ -23,7 +23,7 @@ class CampaignInterface < ::SOAP::RPC::Driver
23
23
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "addCampaignListResponse"]] ],
24
24
  { :request_style => :document, :request_use => :literal,
25
25
  :response_style => :document, :response_use => :literal,
26
- :faults => {"AdWords::CampaignService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
26
+ :faults => {"AdWords::CampaignService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
27
27
  ],
28
28
  [ "",
29
29
  "getAllAdWordsCampaigns",
@@ -31,7 +31,7 @@ class CampaignInterface < ::SOAP::RPC::Driver
31
31
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "getAllAdWordsCampaignsResponse"]] ],
32
32
  { :request_style => :document, :request_use => :literal,
33
33
  :response_style => :document, :response_use => :literal,
34
- :faults => {"AdWords::CampaignService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
34
+ :faults => {"AdWords::CampaignService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
35
35
  ],
36
36
  [ "",
37
37
  "getCampaign",
@@ -39,7 +39,7 @@ class CampaignInterface < ::SOAP::RPC::Driver
39
39
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "getCampaignResponse"]] ],
40
40
  { :request_style => :document, :request_use => :literal,
41
41
  :response_style => :document, :response_use => :literal,
42
- :faults => {"AdWords::CampaignService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
42
+ :faults => {"AdWords::CampaignService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
43
43
  ],
44
44
  [ "",
45
45
  "getCampaignList",
@@ -47,7 +47,7 @@ class CampaignInterface < ::SOAP::RPC::Driver
47
47
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "getCampaignListResponse"]] ],
48
48
  { :request_style => :document, :request_use => :literal,
49
49
  :response_style => :document, :response_use => :literal,
50
- :faults => {"AdWords::CampaignService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
50
+ :faults => {"AdWords::CampaignService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
51
51
  ],
52
52
  [ "",
53
53
  "getCampaignStats",
@@ -55,7 +55,7 @@ class CampaignInterface < ::SOAP::RPC::Driver
55
55
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "getCampaignStatsResponse"]] ],
56
56
  { :request_style => :document, :request_use => :literal,
57
57
  :response_style => :document, :response_use => :literal,
58
- :faults => {"AdWords::CampaignService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
58
+ :faults => {"AdWords::CampaignService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
59
59
  ],
60
60
  [ "",
61
61
  "getOptimizeAdServing",
@@ -63,7 +63,7 @@ class CampaignInterface < ::SOAP::RPC::Driver
63
63
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "getOptimizeAdServingResponse"]] ],
64
64
  { :request_style => :document, :request_use => :literal,
65
65
  :response_style => :document, :response_use => :literal,
66
- :faults => {"AdWords::CampaignService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
66
+ :faults => {"AdWords::CampaignService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
67
67
  ],
68
68
  [ "",
69
69
  "setOptimizeAdServing",
@@ -71,7 +71,7 @@ class CampaignInterface < ::SOAP::RPC::Driver
71
71
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "setOptimizeAdServingResponse"]] ],
72
72
  { :request_style => :document, :request_use => :literal,
73
73
  :response_style => :document, :response_use => :literal,
74
- :faults => {"AdWords::CampaignService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
74
+ :faults => {"AdWords::CampaignService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
75
75
  ],
76
76
  [ "",
77
77
  "updateCampaign",
@@ -79,7 +79,7 @@ class CampaignInterface < ::SOAP::RPC::Driver
79
79
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "updateCampaignResponse"]] ],
80
80
  { :request_style => :document, :request_use => :literal,
81
81
  :response_style => :document, :response_use => :literal,
82
- :faults => {"AdWords::CampaignService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
82
+ :faults => {"AdWords::CampaignService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
83
83
  ],
84
84
  [ "",
85
85
  "updateCampaignList",
@@ -87,7 +87,7 @@ class CampaignInterface < ::SOAP::RPC::Driver
87
87
  ["out", "parameters", ["::SOAP::SOAPElement", "https://adwords.google.com/api/adwords/v11", "updateCampaignListResponse"]] ],
88
88
  { :request_style => :document, :request_use => :literal,
89
89
  :response_style => :document, :response_use => :literal,
90
- :faults => {"AdWords::CampaignService::ApiException"=>{:namespace=>nil, :ns=>"https://adwords.google.com/api/adwords/v11", :encodingstyle=>"document", :use=>"literal", :name=>"ApiException"}} }
90
+ :faults => {"AdWords::CampaignService::ApiException"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adwords.google.com/api/adwords/v11", :name=>"ApiException", :namespace=>nil}} }
91
91
  ]
92
92
  ]
93
93