adwords4r 12.0.0 → 12.1.0
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.
- data/ChangeLog.txt +4 -0
- data/Rakefile +1 -1
- data/Readme.txt +2 -2
- data/adwords.properties +1 -1
- data/examples/account_info.rb +131 -0
- data/examples/create_all.rb +165 -0
- data/examples/keyword_suggestions.rb +2 -2
- data/examples/reports.rb +2 -2
- data/lib/adwords4r/credentials.rb +11 -0
- data/lib/adwords4r/services.rb +0 -2
- metadata +24 -60
- data/examples/campaign.rb +0 -40
- data/examples/framework.rb +0 -8
- data/examples/get_free_usage_this_month.rb +0 -20
- data/examples/get_unit_count.rb +0 -21
- data/examples/keyword_tool_demo.rb +0 -31
- data/examples/traffic_estimator.rb +0 -34
- data/lib/adwords4r/v11/AccountService.rb +0 -215
- data/lib/adwords4r/v11/AccountServiceDriver.rb +0 -69
- data/lib/adwords4r/v11/AccountServiceMappingRegistry.rb +0 -243
- data/lib/adwords4r/v11/AdGroupService.rb +0 -257
- data/lib/adwords4r/v11/AdGroupServiceDriver.rb +0 -109
- data/lib/adwords4r/v11/AdGroupServiceMappingRegistry.rb +0 -276
- data/lib/adwords4r/v11/AdService.rb +0 -760
- data/lib/adwords4r/v11/AdServiceDriver.rb +0 -125
- data/lib/adwords4r/v11/AdServiceMappingRegistry.rb +0 -807
- data/lib/adwords4r/v11/CampaignService.rb +0 -443
- data/lib/adwords4r/v11/CampaignServiceDriver.rb +0 -125
- data/lib/adwords4r/v11/CampaignServiceMappingRegistry.rb +0 -564
- data/lib/adwords4r/v11/CriterionService.rb +0 -442
- data/lib/adwords4r/v11/CriterionServiceDriver.rb +0 -117
- data/lib/adwords4r/v11/CriterionServiceMappingRegistry.rb +0 -507
- data/lib/adwords4r/v11/InfoService.rb +0 -242
- data/lib/adwords4r/v11/InfoServiceDriver.rb +0 -109
- data/lib/adwords4r/v11/InfoServiceMappingRegistry.rb +0 -228
- data/lib/adwords4r/v11/KeywordToolService.rb +0 -205
- data/lib/adwords4r/v11/KeywordToolServiceDriver.rb +0 -61
- data/lib/adwords4r/v11/KeywordToolServiceMappingRegistry.rb +0 -227
- data/lib/adwords4r/v11/ReportService.rb +0 -322
- data/lib/adwords4r/v11/ReportServiceDriver.rb +0 -101
- data/lib/adwords4r/v11/ReportServiceMappingRegistry.rb +0 -298
- data/lib/adwords4r/v11/SiteSuggestionService.rb +0 -242
- data/lib/adwords4r/v11/SiteSuggestionServiceDriver.rb +0 -77
- data/lib/adwords4r/v11/SiteSuggestionServiceMappingRegistry.rb +0 -271
- data/lib/adwords4r/v11/TrafficEstimatorService.rb +0 -312
- data/lib/adwords4r/v11/TrafficEstimatorServiceDriver.rb +0 -77
- data/lib/adwords4r/v11/TrafficEstimatorServiceMappingRegistry.rb +0 -483
- data/svn-commit.2.tmp +0 -60
- data/svn-commit.tmp +0 -60
data/ChangeLog.txt
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
12.1.0
|
2
|
+
- Removed support for v11 of the API, which has been deco'ed.
|
3
|
+
- Replaced some old examples that weren't behaving properly with better, well-commented example code.
|
4
|
+
|
1
5
|
12.0.0
|
2
6
|
- Added support for v12 of the AdWords API.
|
3
7
|
Removed support for v10 of the API, which has been deco'ed.
|
data/Rakefile
CHANGED
data/Readme.txt
CHANGED
@@ -57,10 +57,10 @@ adwords = AdWords::API.new(credentials, version)
|
|
57
57
|
|
58
58
|
In order to use the sandbox, you can add a credential named
|
59
59
|
alternateUrl like:
|
60
|
-
alternateUrl=https://sandbox.google.com/api/adwords/
|
60
|
+
alternateUrl=https://sandbox.google.com/api/adwords/v12/
|
61
61
|
|
62
62
|
Then just use methods of the API against your driver.
|
63
|
-
See sample code in examples
|
63
|
+
See sample code in the examples directory for working examples you can build from.
|
64
64
|
|
65
65
|
It is often useful to see a trace of the raw SOAP XML being sent and received.
|
66
66
|
To enable this, set the ADWORDS4R_DEBUG environment variable to TRUE.
|
data/adwords.properties
CHANGED
@@ -0,0 +1,131 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
#
|
3
|
+
# Copyright 2008, Google Inc. All Rights Reserved.
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
#
|
17
|
+
# This code sample illustrates how to fetch all the client accounts under an
|
18
|
+
# MCC account, and then iteratively retrieves information about each account.
|
19
|
+
|
20
|
+
require 'rubygems'
|
21
|
+
gem 'soap4r', '>= 1.5.8'
|
22
|
+
require 'adwords4r'
|
23
|
+
|
24
|
+
|
25
|
+
def main()
|
26
|
+
begin
|
27
|
+
# AdWords::AdWordsCredentials.new will read a credentials file from
|
28
|
+
# ENV['HOME']/adwords.properties when called without parameters.
|
29
|
+
# The latest versioned release of the API will be assumed.
|
30
|
+
#
|
31
|
+
# Credentials can be either for the production or Sandbox environments.
|
32
|
+
# Production environment credentials overview:
|
33
|
+
# http://www.google.com/apis/adwords/developer/index.html
|
34
|
+
# Sandbox environment credentials overview:
|
35
|
+
# http://www.google.com/apis/adwords/developer/adwords_api_sandbox.html
|
36
|
+
#
|
37
|
+
# Instead of reading them from a file, the credentials can be
|
38
|
+
# specified inline as a hash:
|
39
|
+
#
|
40
|
+
# creds = {
|
41
|
+
# 'developerToken' => 'user@domain.com++USD',
|
42
|
+
# 'useragent' => 'Sample User Agent',
|
43
|
+
# 'password' => 'password',
|
44
|
+
# 'email' => 'user@domain.com',
|
45
|
+
# 'clientEmail' => 'client_1+user@domain.com',
|
46
|
+
# 'applicationToken' => 'IGNORED',
|
47
|
+
# 'alternateUrl' => 'https://sandbox.google.com/api/adwords/v12/',
|
48
|
+
# }
|
49
|
+
# adwords = AdWords::API.new(AdWords::AdWordsCredentials.new(creds), 12)
|
50
|
+
|
51
|
+
adwords = AdWords::API.new
|
52
|
+
|
53
|
+
# Clear out the clientEmail header temporarily so that we run under the
|
54
|
+
# context of the MCC user.
|
55
|
+
adwords.credentials.setHeader('clientEmail', '')
|
56
|
+
|
57
|
+
client_accounts = adwords.getClientAccounts
|
58
|
+
|
59
|
+
if client_accounts.length > 0 then
|
60
|
+
client_accounts.each do |client_account|
|
61
|
+
# Set the clientEmail header to each account's login email so that API
|
62
|
+
# calls are made in the context of that account.
|
63
|
+
adwords.credentials.setHeader('clientEmail', client_account)
|
64
|
+
account_info = adwords.getAccountInfo.getAccountInfoReturn
|
65
|
+
|
66
|
+
puts 'Client Email: %s' % client_account
|
67
|
+
if ! account_info.descriptiveName.empty? then
|
68
|
+
puts 'Client Name: %s' % account_info.descriptiveName
|
69
|
+
end
|
70
|
+
puts 'Client ID: %s' % account_info.customerId
|
71
|
+
puts
|
72
|
+
end
|
73
|
+
else
|
74
|
+
puts 'There are no client accounts beneath this account.'
|
75
|
+
end
|
76
|
+
|
77
|
+
rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
|
78
|
+
# This exception indicates a connection-level error.
|
79
|
+
# In general, it is likely to be transitory.
|
80
|
+
|
81
|
+
puts 'Connection Error: %s' % e
|
82
|
+
puts 'Source: %s' % e.backtrace.first
|
83
|
+
|
84
|
+
rescue AdWords::Error::UnknownAPICall => e
|
85
|
+
# This exception is thrown when an unknown SOAP method is invoked.
|
86
|
+
|
87
|
+
puts e
|
88
|
+
puts 'Source: %s' % e.backtrace.first
|
89
|
+
|
90
|
+
rescue AdWords::Error::ApiError => e
|
91
|
+
# This exception maps to receiving a SOAP Fault back from the service.
|
92
|
+
# The e.soap_faultstring_ex, e.code_ex, and potentially e.trigger_ex
|
93
|
+
# attributes are the most useful, but other attributes may be populated
|
94
|
+
# as well. To display all attributes, the following can be used:
|
95
|
+
#
|
96
|
+
# e.instance_variables.each do |var|
|
97
|
+
# value = e.instance_variable_get(var)
|
98
|
+
# if ! value.nil?
|
99
|
+
# puts '%s => %s' % [var, value]
|
100
|
+
# end
|
101
|
+
# end
|
102
|
+
|
103
|
+
puts 'SOAP Error: %s (code: %d)' % [e.soap_faultstring_ex, e.code_ex]
|
104
|
+
puts 'Trigger: %s' % e.trigger_ex unless e.trigger_ex.nil?
|
105
|
+
puts 'Source: %s' % e.backtrace.first
|
106
|
+
|
107
|
+
ensure
|
108
|
+
# Display API unit usage info. This data is stored as a class variable
|
109
|
+
# in the AdWords::API class and accessed via static methods.
|
110
|
+
# AdWords::API.get_total_units() returns a running total of units used in
|
111
|
+
# the scope of the current program.
|
112
|
+
# AdWords::API.get_last_units() returns the number used in the last call.
|
113
|
+
|
114
|
+
puts
|
115
|
+
puts '%d API units consumed total (%d in last call).' %
|
116
|
+
[AdWords::API.get_total_units(), AdWords::API.get_last_units()]
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
|
121
|
+
if __FILE__ == $0
|
122
|
+
# The adwords4r library can log all SOAP requests and responses to files.
|
123
|
+
# This is often useful for debugging purposes.
|
124
|
+
# To enable this, set the ADWORDS4R_DEBUG environement varaible to 'true'.
|
125
|
+
# This can be done either from your operating system environment or via
|
126
|
+
# code, as done below.
|
127
|
+
|
128
|
+
ENV['ADWORDS4R_DEBUG'] = 'false'
|
129
|
+
|
130
|
+
main()
|
131
|
+
end
|
@@ -0,0 +1,165 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
#
|
3
|
+
# Copyright 2008, Google Inc. All Rights Reserved.
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
#
|
17
|
+
# This code sample illustrates how to create a new campaign, ad group, text ad,
|
18
|
+
# keywords, and website criteria, all in one fell swoop.
|
19
|
+
|
20
|
+
require 'rubygems'
|
21
|
+
gem 'soap4r', '>= 1.5.8'
|
22
|
+
require 'adwords4r'
|
23
|
+
|
24
|
+
|
25
|
+
def main()
|
26
|
+
begin
|
27
|
+
# AdWords::AdWordsCredentials.new will read a credentials file from
|
28
|
+
# ENV['HOME']/adwords.properties when called without parameters.
|
29
|
+
# The latest versioned release of the API will be assumed.
|
30
|
+
#
|
31
|
+
# Credentials can be either for the production or Sandbox environments.
|
32
|
+
# Production environment credentials overview:
|
33
|
+
# http://www.google.com/apis/adwords/developer/index.html
|
34
|
+
# Sandbox environment credentials overview:
|
35
|
+
# http://www.google.com/apis/adwords/developer/adwords_api_sandbox.html
|
36
|
+
#
|
37
|
+
# Instead of reading them from a file, the credentials can be
|
38
|
+
# specified inline as a hash:
|
39
|
+
#
|
40
|
+
# creds = {
|
41
|
+
# 'developerToken' => 'user@domain.com++USD',
|
42
|
+
# 'useragent' => 'Sample User Agent',
|
43
|
+
# 'password' => 'password',
|
44
|
+
# 'email' => 'user@domain.com',
|
45
|
+
# 'clientEmail' => 'client_1+user@domain.com',
|
46
|
+
# 'applicationToken' => 'IGNORED',
|
47
|
+
# 'alternateUrl' => 'https://sandbox.google.com/api/adwords/v12/',
|
48
|
+
# }
|
49
|
+
# adwords = AdWords::API.new(AdWords::AdWordsCredentials.new(creds), 12)
|
50
|
+
|
51
|
+
adwords = AdWords::API.new
|
52
|
+
|
53
|
+
# Alternatively, you can create new AdWords::Campaign, AdWords::AdGroup,
|
54
|
+
# etc. objects and set their properties instead of working with hashes.
|
55
|
+
campaign_data = {
|
56
|
+
:name => 'Sample Campaign %s' % Time.new.to_s, # Ensure name is unique.
|
57
|
+
:budgetAmount => 1000000, # 1000000 micros = 1 unit of currency.
|
58
|
+
:budgetPeriod => 'Daily',
|
59
|
+
:languageTargeting => ['en'], # If the default all-language targeting is
|
60
|
+
# used then website placements criteria
|
61
|
+
# would not be supported.
|
62
|
+
:status => 'Paused', # Pause the campaign so that it doesn't actually run.
|
63
|
+
# Default geo and network targeting will be used.
|
64
|
+
}
|
65
|
+
|
66
|
+
campaign = adwords.addCampaign(campaign_data).addCampaignReturn
|
67
|
+
puts 'Campaign id %d was successfully added.' % campaign.id
|
68
|
+
|
69
|
+
ad_group_data = {
|
70
|
+
:name => 'Sample Ad Group %s' % Time.new.to_s, # Ensure name is unique.
|
71
|
+
:keywordMaxCpc => 100000, # 100000 micros = 0.1 unit of currency.
|
72
|
+
:siteMaxCpc => 100000, # 100000 micros = 0.1 unit of currency.
|
73
|
+
}
|
74
|
+
|
75
|
+
ad_group = adwords.addAdGroup(campaign.id, ad_group_data).addAdGroupReturn
|
76
|
+
puts 'Ad group id %d was successfully added.' % ad_group.id
|
77
|
+
|
78
|
+
ad_data = {
|
79
|
+
:adGroupId => ad_group.id,
|
80
|
+
:adType => 'TextAd',
|
81
|
+
:headline => 'AdWords API Ruby Library',
|
82
|
+
:description1 => 'Write AdWords API apps in Ruby.',
|
83
|
+
:description2 => 'Use adwords4r!',
|
84
|
+
:destinationUrl => 'http://code.google.com/p/google-api-adwords-ruby/',
|
85
|
+
:displayUrl => 'http://code.google.com/',
|
86
|
+
}
|
87
|
+
|
88
|
+
ad = adwords.addAds([ad_data])[0]
|
89
|
+
puts 'Text ad id %d was successfully added.' % ad.id
|
90
|
+
|
91
|
+
keyword_data = {
|
92
|
+
:adGroupId => ad_group.id,
|
93
|
+
:criterionType => 'Keyword',
|
94
|
+
:text => 'adwords4r',
|
95
|
+
:type => 'Broad', # Or 'Phrase' or 'Exact' if desired.
|
96
|
+
# Default ad destination URL and ad group CPC values will be used.
|
97
|
+
}
|
98
|
+
|
99
|
+
website_data = {
|
100
|
+
:adGroupId => ad_group.id,
|
101
|
+
:criterionType => 'Website',
|
102
|
+
:url => 'http://www.ruby-forum.com/', # Target this site for ads.
|
103
|
+
# Default ad destination URL and ad group CPC values will be used.
|
104
|
+
}
|
105
|
+
|
106
|
+
criteria = adwords.addCriteria([keyword_data, website_data])
|
107
|
+
criteria.each do |criterion|
|
108
|
+
puts 'Criterion id %d was successfully added.' % criterion.id
|
109
|
+
end
|
110
|
+
|
111
|
+
rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e
|
112
|
+
# This exception indicates a connection-level error.
|
113
|
+
# In general, it is likely to be transitory.
|
114
|
+
|
115
|
+
puts 'Connection Error: %s' % e
|
116
|
+
puts 'Source: %s' % e.backtrace.first
|
117
|
+
|
118
|
+
rescue AdWords::Error::UnknownAPICall => e
|
119
|
+
# This exception is thrown when an unknown SOAP method is invoked.
|
120
|
+
|
121
|
+
puts e
|
122
|
+
puts 'Source: %s' % e.backtrace.first
|
123
|
+
|
124
|
+
rescue AdWords::Error::ApiError => e
|
125
|
+
# This exception maps to receiving a SOAP Fault back from the service.
|
126
|
+
# The e.soap_faultstring_ex, e.code_ex, and potentially e.trigger_ex
|
127
|
+
# attributes are the most useful, but other attributes may be populated
|
128
|
+
# as well. To display all attributes, the following can be used:
|
129
|
+
#
|
130
|
+
# e.instance_variables.each do |var|
|
131
|
+
# value = e.instance_variable_get(var)
|
132
|
+
# if ! value.nil?
|
133
|
+
# puts '%s => %s' % [var, value]
|
134
|
+
# end
|
135
|
+
# end
|
136
|
+
|
137
|
+
puts 'SOAP Error: %s (code: %d)' % [e.soap_faultstring_ex, e.code_ex]
|
138
|
+
puts 'Trigger: %s' % e.trigger_ex unless e.trigger_ex.nil?
|
139
|
+
puts 'Source: %s' % e.backtrace.first
|
140
|
+
|
141
|
+
ensure
|
142
|
+
# Display API unit usage info. This data is stored as a class variable
|
143
|
+
# in the AdWords::API class and accessed via static methods.
|
144
|
+
# AdWords::API.get_total_units() returns a running total of units used in
|
145
|
+
# the scope of the current program.
|
146
|
+
# AdWords::API.get_last_units() returns the number used in the last call.
|
147
|
+
|
148
|
+
puts
|
149
|
+
puts '%d API units consumed total (%d in last call).' %
|
150
|
+
[AdWords::API.get_total_units(), AdWords::API.get_last_units()]
|
151
|
+
end
|
152
|
+
end
|
153
|
+
|
154
|
+
|
155
|
+
if __FILE__ == $0
|
156
|
+
# The adwords4r library can log all SOAP requests and responses to files.
|
157
|
+
# This is often useful for debugging purposes.
|
158
|
+
# To enable this, set the ADWORDS4R_DEBUG environement varaible to 'true'.
|
159
|
+
# This can be done either from your operating system environment or via
|
160
|
+
# code, as done below.
|
161
|
+
|
162
|
+
ENV['ADWORDS4R_DEBUG'] = 'false'
|
163
|
+
|
164
|
+
main()
|
165
|
+
end
|
@@ -44,9 +44,9 @@ def main()
|
|
44
44
|
# 'email' => 'user@domain.com',
|
45
45
|
# 'clientEmail' => 'client_1+user@domain.com',
|
46
46
|
# 'applicationToken' => 'IGNORED',
|
47
|
-
# 'alternateUrl' => 'https://sandbox.google.com/api/adwords/
|
47
|
+
# 'alternateUrl' => 'https://sandbox.google.com/api/adwords/v12/',
|
48
48
|
# }
|
49
|
-
# adwords = AdWords::API.new(AdWords::AdWordsCredentials.new(creds),
|
49
|
+
# adwords = AdWords::API.new(AdWords::AdWordsCredentials.new(creds), 12)
|
50
50
|
|
51
51
|
adwords = AdWords::API.new
|
52
52
|
|
data/examples/reports.rb
CHANGED
@@ -44,9 +44,9 @@ def main()
|
|
44
44
|
# 'email' => 'user@domain.com',
|
45
45
|
# 'clientEmail' => 'client_1+user@domain.com',
|
46
46
|
# 'applicationToken' => 'IGNORED',
|
47
|
-
# 'alternateUrl' => 'https://sandbox.google.com/api/adwords/
|
47
|
+
# 'alternateUrl' => 'https://sandbox.google.com/api/adwords/v12/',
|
48
48
|
# }
|
49
|
-
# adwords = AdWords::API.new(AdWords::AdWordsCredentials.new(creds),
|
49
|
+
# adwords = AdWords::API.new(AdWords::AdWordsCredentials.new(creds), 12)
|
50
50
|
|
51
51
|
adwords = AdWords::API.new
|
52
52
|
|
@@ -3,6 +3,9 @@ require 'soap/header/simplehandler'
|
|
3
3
|
module AdWords
|
4
4
|
|
5
5
|
class HeaderHandler < SOAP::Header::SimpleHandler
|
6
|
+
attr_reader :tag
|
7
|
+
attr_writer :value
|
8
|
+
|
6
9
|
def initialize(tag, value)
|
7
10
|
super(XSD::QName.new(nil, tag))
|
8
11
|
@tag = tag
|
@@ -41,5 +44,13 @@ module AdWords
|
|
41
44
|
@handlers << HeaderHandler.new(key, value) if !(key =~ /^alternateUrl/)}
|
42
45
|
@alternateUrl = credentials['alternateUrl']
|
43
46
|
end
|
47
|
+
|
48
|
+
def setHeader(header, value)
|
49
|
+
handlers.each do |handler|
|
50
|
+
if handler.tag == header then
|
51
|
+
handler.value = value
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
44
55
|
end
|
45
56
|
end
|
data/lib/adwords4r/services.rb
CHANGED
@@ -2,8 +2,6 @@ module AdWords
|
|
2
2
|
class Service
|
3
3
|
|
4
4
|
@services = {
|
5
|
-
11 => ["Account", "AdGroup", "Ad", "Campaign", "Criterion", "Info",
|
6
|
-
"KeywordTool", "Report", "SiteSuggestion", "TrafficEstimator"],
|
7
5
|
12 => ["Account", "AdGroup", "Ad", "Campaign", "Criterion", "Info",
|
8
6
|
"KeywordTool", "Report", "SiteSuggestion", "TrafficEstimator"]
|
9
7
|
}
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
|
|
3
3
|
specification_version: 1
|
4
4
|
name: adwords4r
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 12.
|
7
|
-
date: 2008-
|
6
|
+
version: 12.1.0
|
7
|
+
date: 2008-08-25 00:00:00 -04:00
|
8
8
|
summary: Client library for the AdWords API.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -36,80 +36,44 @@ files:
|
|
36
36
|
- Copying.txt
|
37
37
|
- Readme.txt
|
38
38
|
- adwords.properties
|
39
|
-
- svn-commit.tmp
|
40
|
-
- svn-commit.2.tmp
|
41
39
|
- Rakefile
|
42
40
|
- lib/adwords4r.rb
|
43
41
|
- lib/adwords4r/credentials.rb
|
44
42
|
- lib/adwords4r/services.rb
|
45
|
-
- lib/adwords4r/v11/CriterionService.rb
|
46
|
-
- lib/adwords4r/v11/CriterionServiceMappingRegistry.rb
|
47
|
-
- lib/adwords4r/v11/CriterionServiceDriver.rb
|
48
|
-
- lib/adwords4r/v11/AdGroupService.rb
|
49
|
-
- lib/adwords4r/v11/AdGroupServiceMappingRegistry.rb
|
50
|
-
- lib/adwords4r/v11/AdGroupServiceDriver.rb
|
51
|
-
- lib/adwords4r/v11/CampaignService.rb
|
52
|
-
- lib/adwords4r/v11/CampaignServiceMappingRegistry.rb
|
53
|
-
- lib/adwords4r/v11/CampaignServiceDriver.rb
|
54
|
-
- lib/adwords4r/v11/TrafficEstimatorService.rb
|
55
|
-
- lib/adwords4r/v11/TrafficEstimatorServiceMappingRegistry.rb
|
56
|
-
- lib/adwords4r/v11/TrafficEstimatorServiceDriver.rb
|
57
|
-
- lib/adwords4r/v11/ReportService.rb
|
58
|
-
- lib/adwords4r/v11/ReportServiceMappingRegistry.rb
|
59
|
-
- lib/adwords4r/v11/ReportServiceDriver.rb
|
60
|
-
- lib/adwords4r/v11/InfoService.rb
|
61
|
-
- lib/adwords4r/v11/InfoServiceMappingRegistry.rb
|
62
|
-
- lib/adwords4r/v11/InfoServiceDriver.rb
|
63
|
-
- lib/adwords4r/v11/AccountService.rb
|
64
|
-
- lib/adwords4r/v11/AccountServiceMappingRegistry.rb
|
65
|
-
- lib/adwords4r/v11/AccountServiceDriver.rb
|
66
|
-
- lib/adwords4r/v11/KeywordToolService.rb
|
67
|
-
- lib/adwords4r/v11/KeywordToolServiceMappingRegistry.rb
|
68
|
-
- lib/adwords4r/v11/KeywordToolServiceDriver.rb
|
69
|
-
- lib/adwords4r/v11/AdService.rb
|
70
|
-
- lib/adwords4r/v11/AdServiceMappingRegistry.rb
|
71
|
-
- lib/adwords4r/v11/AdServiceDriver.rb
|
72
|
-
- lib/adwords4r/v11/SiteSuggestionService.rb
|
73
|
-
- lib/adwords4r/v11/SiteSuggestionServiceMappingRegistry.rb
|
74
|
-
- lib/adwords4r/v11/SiteSuggestionServiceDriver.rb
|
75
43
|
- lib/adwords4r/v12/AccountService.rb
|
44
|
+
- lib/adwords4r/v12/CriterionService.rb
|
45
|
+
- lib/adwords4r/v12/KeywordToolServiceDriver.rb
|
46
|
+
- lib/adwords4r/v12/AdServiceDriver.rb
|
47
|
+
- lib/adwords4r/v12/InfoServiceMappingRegistry.rb
|
76
48
|
- lib/adwords4r/v12/AccountServiceMappingRegistry.rb
|
77
|
-
- lib/adwords4r/v12/AccountServiceDriver.rb
|
78
49
|
- lib/adwords4r/v12/AdGroupService.rb
|
50
|
+
- lib/adwords4r/v12/CriterionServiceMappingRegistry.rb
|
79
51
|
- lib/adwords4r/v12/AdGroupServiceMappingRegistry.rb
|
52
|
+
- lib/adwords4r/v12/TrafficEstimatorService.rb
|
53
|
+
- lib/adwords4r/v12/InfoServiceDriver.rb
|
54
|
+
- lib/adwords4r/v12/AccountServiceDriver.rb
|
55
|
+
- lib/adwords4r/v12/CriterionServiceDriver.rb
|
56
|
+
- lib/adwords4r/v12/TrafficEstimatorServiceMappingRegistry.rb
|
57
|
+
- lib/adwords4r/v12/ReportService.rb
|
58
|
+
- lib/adwords4r/v12/SiteSuggestionService.rb
|
80
59
|
- lib/adwords4r/v12/AdGroupServiceDriver.rb
|
81
|
-
- lib/adwords4r/v12/AdService.rb
|
82
|
-
- lib/adwords4r/v12/AdServiceMappingRegistry.rb
|
83
|
-
- lib/adwords4r/v12/AdServiceDriver.rb
|
84
|
-
- lib/adwords4r/v12/InfoService.rb
|
85
60
|
- lib/adwords4r/v12/CampaignService.rb
|
86
|
-
- lib/adwords4r/v12/
|
87
|
-
- lib/adwords4r/v12/
|
88
|
-
- lib/adwords4r/v12/CriterionService.rb
|
89
|
-
- lib/adwords4r/v12/CriterionServiceMappingRegistry.rb
|
90
|
-
- lib/adwords4r/v12/CriterionServiceDriver.rb
|
91
|
-
- lib/adwords4r/v12/InfoServiceMappingRegistry.rb
|
92
|
-
- lib/adwords4r/v12/InfoServiceDriver.rb
|
61
|
+
- lib/adwords4r/v12/ReportServiceMappingRegistry.rb
|
62
|
+
- lib/adwords4r/v12/SiteSuggestionServiceMappingRegistry.rb
|
93
63
|
- lib/adwords4r/v12/KeywordToolService.rb
|
64
|
+
- lib/adwords4r/v12/TrafficEstimatorServiceDriver.rb
|
65
|
+
- lib/adwords4r/v12/AdService.rb
|
66
|
+
- lib/adwords4r/v12/CampaignServiceMappingRegistry.rb
|
94
67
|
- lib/adwords4r/v12/KeywordToolServiceMappingRegistry.rb
|
95
|
-
- lib/adwords4r/v12/KeywordToolServiceDriver.rb
|
96
|
-
- lib/adwords4r/v12/ReportService.rb
|
97
|
-
- lib/adwords4r/v12/ReportServiceMappingRegistry.rb
|
98
68
|
- lib/adwords4r/v12/ReportServiceDriver.rb
|
99
|
-
- lib/adwords4r/v12/SiteSuggestionService.rb
|
100
|
-
- lib/adwords4r/v12/SiteSuggestionServiceMappingRegistry.rb
|
101
69
|
- lib/adwords4r/v12/SiteSuggestionServiceDriver.rb
|
102
|
-
- lib/adwords4r/v12/
|
103
|
-
- lib/adwords4r/v12/
|
104
|
-
- lib/adwords4r/v12/
|
70
|
+
- lib/adwords4r/v12/AdServiceMappingRegistry.rb
|
71
|
+
- lib/adwords4r/v12/CampaignServiceDriver.rb
|
72
|
+
- lib/adwords4r/v12/InfoService.rb
|
105
73
|
- examples/reports.rb
|
106
74
|
- examples/keyword_suggestions.rb
|
107
|
-
- examples/
|
108
|
-
- examples/
|
109
|
-
- examples/get_free_usage_this_month.rb
|
110
|
-
- examples/get_unit_count.rb
|
111
|
-
- examples/keyword_tool_demo.rb
|
112
|
-
- examples/traffic_estimator.rb
|
75
|
+
- examples/account_info.rb
|
76
|
+
- examples/create_all.rb
|
113
77
|
test_files: []
|
114
78
|
|
115
79
|
rdoc_options: []
|