google-adwords-api 0.15.2 → 0.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (167) hide show
  1. checksums.yaml +8 -8
  2. data/ChangeLog +7 -0
  3. data/adwords_api.yml +3 -2
  4. data/examples/v201506/basic_operations/get_keywords.rb +4 -3
  5. data/examples/v201506/misc/{create_ad_words_session_without_properties_file.rb → use_runtime_config.rb} +2 -2
  6. data/lib/adwords_api.rb +1 -1
  7. data/lib/adwords_api/api_config.rb +0 -86
  8. data/lib/adwords_api/report_header_handler.rb +4 -4
  9. data/lib/adwords_api/version.rb +1 -1
  10. data/test/templates/v201502/basic_operations_get_campaigns.def +1 -1
  11. data/test/templates/v201502/{misc_use_oauth2_jwt.def → misc_use_oauth2_service_account.def} +2 -2
  12. data/test/templates/v201506/basic_operations_get_campaigns.def +1 -1
  13. data/test/templates/v201506/{misc_use_oauth2_jwt.def → misc_use_oauth2_service_account.def} +2 -2
  14. metadata +7 -160
  15. data/examples/v201409/account_management/create_account.rb +0 -92
  16. data/examples/v201409/account_management/get_account_changes.rb +0 -145
  17. data/examples/v201409/account_management/get_account_hierarchy.rb +0 -102
  18. data/examples/v201409/advanced_operations/add_ad_customizers.rb +0 -277
  19. data/examples/v201409/advanced_operations/add_ad_group_bid_modifier.rb +0 -105
  20. data/examples/v201409/advanced_operations/add_click_to_download_ad.rb +0 -137
  21. data/examples/v201409/advanced_operations/add_text_ad_with_upgraded_urls.rb +0 -137
  22. data/examples/v201409/advanced_operations/get_ad_group_bid_modifiers.rb +0 -106
  23. data/examples/v201409/advanced_operations/upload_offline_conversions.rb +0 -117
  24. data/examples/v201409/advanced_operations/use_shared_bidding_strategy.rb +0 -152
  25. data/examples/v201409/basic_operations/add_ad_groups.rb +0 -144
  26. data/examples/v201409/basic_operations/add_campaigns.rb +0 -143
  27. data/examples/v201409/basic_operations/add_keywords.rb +0 -118
  28. data/examples/v201409/basic_operations/add_text_ads.rb +0 -113
  29. data/examples/v201409/basic_operations/get_ad_groups.rb +0 -106
  30. data/examples/v201409/basic_operations/get_campaigns.rb +0 -101
  31. data/examples/v201409/basic_operations/get_campaigns_with_awql.rb +0 -93
  32. data/examples/v201409/basic_operations/get_keywords.rb +0 -112
  33. data/examples/v201409/basic_operations/get_text_ads.rb +0 -114
  34. data/examples/v201409/basic_operations/pause_ad.rb +0 -92
  35. data/examples/v201409/basic_operations/remove_ad.rb +0 -93
  36. data/examples/v201409/basic_operations/remove_ad_group.rb +0 -89
  37. data/examples/v201409/basic_operations/remove_campaign.rb +0 -91
  38. data/examples/v201409/basic_operations/remove_keyword.rb +0 -98
  39. data/examples/v201409/basic_operations/update_ad_group.rb +0 -89
  40. data/examples/v201409/basic_operations/update_campaign.rb +0 -90
  41. data/examples/v201409/basic_operations/update_keyword.rb +0 -110
  42. data/examples/v201409/campaign_management/add_campaign_labels.rb +0 -86
  43. data/examples/v201409/campaign_management/add_experiment.rb +0 -166
  44. data/examples/v201409/campaign_management/add_keywords_in_bulk.rb +0 -158
  45. data/examples/v201409/campaign_management/add_location_extension.rb +0 -125
  46. data/examples/v201409/campaign_management/get_all_disapproved_ads.rb +0 -101
  47. data/examples/v201409/campaign_management/get_all_disapproved_ads_with_awql.rb +0 -93
  48. data/examples/v201409/campaign_management/get_campaigns_by_label.rb +0 -112
  49. data/examples/v201409/campaign_management/promote_experiment.rb +0 -85
  50. data/examples/v201409/campaign_management/set_ad_parameters.rb +0 -122
  51. data/examples/v201409/campaign_management/set_criterion_bid_modifier.rb +0 -108
  52. data/examples/v201409/campaign_management/validate_text_ad.rb +0 -114
  53. data/examples/v201409/error_handling/handle_partial_failures.rb +0 -134
  54. data/examples/v201409/error_handling/handle_policy_violation_error.rb +0 -145
  55. data/examples/v201409/extensions/add_google_my_business_location_extensions.rb +0 -183
  56. data/examples/v201409/extensions/add_site_links.rb +0 -167
  57. data/examples/v201409/extensions/add_site_links_using_feeds.rb +0 -306
  58. data/examples/v201409/migration/migrate_to_extension_settings.rb +0 -392
  59. data/examples/v201409/migration/upgrade_ad_url.rb +0 -97
  60. data/examples/v201409/misc/create_ad_words_session_without_properties_file.rb +0 -94
  61. data/examples/v201409/misc/get_all_images_and_videos.rb +0 -108
  62. data/examples/v201409/misc/setup_oauth2.rb +0 -88
  63. data/examples/v201409/misc/upload_image.rb +0 -97
  64. data/examples/v201409/misc/use_oauth2_jwt.rb +0 -97
  65. data/examples/v201409/optimization/estimate_keyword_traffic.rb +0 -155
  66. data/examples/v201409/optimization/get_keyword_bid_simulations.rb +0 -100
  67. data/examples/v201409/optimization/get_keyword_ideas.rb +0 -130
  68. data/examples/v201409/remarketing/add_audience.rb +0 -122
  69. data/examples/v201409/remarketing/add_conversion_tracker.rb +0 -105
  70. data/examples/v201409/remarketing/add_rule_based_user_lists.rb +0 -171
  71. data/examples/v201409/reporting/download_criteria_report.rb +0 -87
  72. data/examples/v201409/reporting/download_criteria_report_with_awql.rb +0 -86
  73. data/examples/v201409/reporting/get_report_fields.rb +0 -79
  74. data/examples/v201409/reporting/parallel_report_download.rb +0 -171
  75. data/examples/v201409/shopping_campaigns/add_product_partition_tree.rb +0 -269
  76. data/examples/v201409/shopping_campaigns/add_product_scope.rb +0 -133
  77. data/examples/v201409/shopping_campaigns/add_shopping_campaign.rb +0 -131
  78. data/examples/v201409/shopping_campaigns/get_product_category_taxonomy.rb +0 -117
  79. data/examples/v201409/targeting/add_campaign_targeting_criteria.rb +0 -173
  80. data/examples/v201409/targeting/add_demographic_targeting_criteria.rb +0 -116
  81. data/examples/v201409/targeting/get_campaign_targeting_criteria.rb +0 -110
  82. data/examples/v201409/targeting/get_targetable_languages_and_carriers.rb +0 -94
  83. data/examples/v201409/targeting/lookup_location.rb +0 -112
  84. data/lib/adwords_api/v201409/ad_customizer_feed_service.rb +0 -38
  85. data/lib/adwords_api/v201409/ad_customizer_feed_service_registry.rb +0 -46
  86. data/lib/adwords_api/v201409/ad_group_ad_service.rb +0 -50
  87. data/lib/adwords_api/v201409/ad_group_ad_service_registry.rb +0 -46
  88. data/lib/adwords_api/v201409/ad_group_bid_modifier_service.rb +0 -42
  89. data/lib/adwords_api/v201409/ad_group_bid_modifier_service_registry.rb +0 -46
  90. data/lib/adwords_api/v201409/ad_group_criterion_service.rb +0 -46
  91. data/lib/adwords_api/v201409/ad_group_criterion_service_registry.rb +0 -46
  92. data/lib/adwords_api/v201409/ad_group_extension_setting_service.rb +0 -42
  93. data/lib/adwords_api/v201409/ad_group_extension_setting_service_registry.rb +0 -46
  94. data/lib/adwords_api/v201409/ad_group_feed_service.rb +0 -42
  95. data/lib/adwords_api/v201409/ad_group_feed_service_registry.rb +0 -46
  96. data/lib/adwords_api/v201409/ad_group_service.rb +0 -46
  97. data/lib/adwords_api/v201409/ad_group_service_registry.rb +0 -46
  98. data/lib/adwords_api/v201409/ad_param_service.rb +0 -38
  99. data/lib/adwords_api/v201409/ad_param_service_registry.rb +0 -46
  100. data/lib/adwords_api/v201409/adwords_user_list_service.rb +0 -38
  101. data/lib/adwords_api/v201409/adwords_user_list_service_registry.rb +0 -46
  102. data/lib/adwords_api/v201409/bidding_strategy_service.rb +0 -42
  103. data/lib/adwords_api/v201409/bidding_strategy_service_registry.rb +0 -46
  104. data/lib/adwords_api/v201409/budget_order_service.rb +0 -42
  105. data/lib/adwords_api/v201409/budget_order_service_registry.rb +0 -46
  106. data/lib/adwords_api/v201409/budget_service.rb +0 -42
  107. data/lib/adwords_api/v201409/budget_service_registry.rb +0 -46
  108. data/lib/adwords_api/v201409/campaign_ad_extension_service.rb +0 -38
  109. data/lib/adwords_api/v201409/campaign_ad_extension_service_registry.rb +0 -46
  110. data/lib/adwords_api/v201409/campaign_criterion_service.rb +0 -42
  111. data/lib/adwords_api/v201409/campaign_criterion_service_registry.rb +0 -46
  112. data/lib/adwords_api/v201409/campaign_extension_setting_service.rb +0 -42
  113. data/lib/adwords_api/v201409/campaign_extension_setting_service_registry.rb +0 -46
  114. data/lib/adwords_api/v201409/campaign_feed_service.rb +0 -42
  115. data/lib/adwords_api/v201409/campaign_feed_service_registry.rb +0 -46
  116. data/lib/adwords_api/v201409/campaign_service.rb +0 -46
  117. data/lib/adwords_api/v201409/campaign_service_registry.rb +0 -46
  118. data/lib/adwords_api/v201409/campaign_shared_set_service.rb +0 -38
  119. data/lib/adwords_api/v201409/campaign_shared_set_service_registry.rb +0 -47
  120. data/lib/adwords_api/v201409/constant_data_service.rb +0 -66
  121. data/lib/adwords_api/v201409/constant_data_service_registry.rb +0 -46
  122. data/lib/adwords_api/v201409/conversion_tracker_service.rb +0 -38
  123. data/lib/adwords_api/v201409/conversion_tracker_service_registry.rb +0 -46
  124. data/lib/adwords_api/v201409/customer_extension_setting_service.rb +0 -42
  125. data/lib/adwords_api/v201409/customer_extension_setting_service_registry.rb +0 -46
  126. data/lib/adwords_api/v201409/customer_feed_service.rb +0 -42
  127. data/lib/adwords_api/v201409/customer_feed_service_registry.rb +0 -46
  128. data/lib/adwords_api/v201409/customer_service.rb +0 -38
  129. data/lib/adwords_api/v201409/customer_service_registry.rb +0 -46
  130. data/lib/adwords_api/v201409/customer_sync_service.rb +0 -34
  131. data/lib/adwords_api/v201409/customer_sync_service_registry.rb +0 -47
  132. data/lib/adwords_api/v201409/data_service.rb +0 -54
  133. data/lib/adwords_api/v201409/data_service_registry.rb +0 -46
  134. data/lib/adwords_api/v201409/experiment_service.rb +0 -38
  135. data/lib/adwords_api/v201409/experiment_service_registry.rb +0 -46
  136. data/lib/adwords_api/v201409/feed_item_service.rb +0 -42
  137. data/lib/adwords_api/v201409/feed_item_service_registry.rb +0 -46
  138. data/lib/adwords_api/v201409/feed_mapping_service.rb +0 -42
  139. data/lib/adwords_api/v201409/feed_mapping_service_registry.rb +0 -46
  140. data/lib/adwords_api/v201409/feed_service.rb +0 -42
  141. data/lib/adwords_api/v201409/feed_service_registry.rb +0 -46
  142. data/lib/adwords_api/v201409/geo_location_service.rb +0 -34
  143. data/lib/adwords_api/v201409/geo_location_service_registry.rb +0 -46
  144. data/lib/adwords_api/v201409/label_service.rb +0 -42
  145. data/lib/adwords_api/v201409/label_service_registry.rb +0 -46
  146. data/lib/adwords_api/v201409/location_criterion_service.rb +0 -38
  147. data/lib/adwords_api/v201409/location_criterion_service_registry.rb +0 -46
  148. data/lib/adwords_api/v201409/managed_customer_service.rb +0 -50
  149. data/lib/adwords_api/v201409/managed_customer_service_registry.rb +0 -46
  150. data/lib/adwords_api/v201409/media_service.rb +0 -42
  151. data/lib/adwords_api/v201409/media_service_registry.rb +0 -46
  152. data/lib/adwords_api/v201409/mutate_job_service.rb +0 -42
  153. data/lib/adwords_api/v201409/mutate_job_service_registry.rb +0 -46
  154. data/lib/adwords_api/v201409/offline_conversion_feed_service.rb +0 -34
  155. data/lib/adwords_api/v201409/offline_conversion_feed_service_registry.rb +0 -46
  156. data/lib/adwords_api/v201409/report_definition_service.rb +0 -34
  157. data/lib/adwords_api/v201409/report_definition_service_registry.rb +0 -46
  158. data/lib/adwords_api/v201409/shared_criterion_service.rb +0 -38
  159. data/lib/adwords_api/v201409/shared_criterion_service_registry.rb +0 -47
  160. data/lib/adwords_api/v201409/shared_set_service.rb +0 -38
  161. data/lib/adwords_api/v201409/shared_set_service_registry.rb +0 -47
  162. data/lib/adwords_api/v201409/targeting_idea_service.rb +0 -34
  163. data/lib/adwords_api/v201409/targeting_idea_service_registry.rb +0 -46
  164. data/lib/adwords_api/v201409/traffic_estimator_service.rb +0 -34
  165. data/lib/adwords_api/v201409/traffic_estimator_service_registry.rb +0 -46
  166. data/test/templates/v201409/basic_operations_get_campaigns.def +0 -116
  167. data/test/templates/v201409/misc_use_oauth2_jwt.def +0 -131
@@ -1,105 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # Encoding: utf-8
3
- #
4
- # Author:: api.sgomes@gmail.com (Sérgio Gomes)
5
- #
6
- # Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
7
- #
8
- # License:: Licensed under the Apache License, Version 2.0 (the "License");
9
- # you may not use this file except in compliance with the License.
10
- # You may obtain a copy of the License at
11
- #
12
- # http://www.apache.org/licenses/LICENSE-2.0
13
- #
14
- # Unless required by applicable law or agreed to in writing, software
15
- # distributed under the License is distributed on an "AS IS" BASIS,
16
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
17
- # implied.
18
- # See the License for the specific language governing permissions and
19
- # limitations under the License.
20
- #
21
- # This example illustrates how to add an AdWords conversion tracker.
22
- #
23
- # Tags: ConversionTrackerService.mutate
24
-
25
- require 'adwords_api'
26
-
27
- def add_conversion_tracker()
28
- # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
29
- # when called without parameters.
30
- adwords = AdwordsApi::Api.new
31
-
32
- # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
33
- # the configuration file or provide your own logger:
34
- # adwords.logger = Logger.new('adwords_xml.log')
35
-
36
- conv_tracker_srv = adwords.service(:ConversionTrackerService, API_VERSION)
37
-
38
- # Prepare for adding conversion.
39
- operation = {
40
- :operator => 'ADD',
41
- :operand => {
42
- # The 'xsi_type' field allows you to specify the xsi:type of the object
43
- # being created. It's only necessary when you must provide an explicit
44
- # type that the client library can't infer.
45
- :xsi_type => 'AdWordsConversionTracker',
46
- :name => "Earth to Mars Cruises Conversion #%d" %
47
- (Time.new.to_f * 1000).to_i,
48
- :category => 'DEFAULT',
49
- :markup_language => 'HTML',
50
- :text_format => 'HIDDEN',
51
- # Optional fields:
52
- :status => 'ENABLED',
53
- :viewthrough_lookback_window => 15,
54
- :viewthrough_conversion_de_dup_search => true,
55
- :is_product_ads_chargeable => true,
56
- :product_ads_chargeable_conversion_window => 15,
57
- :conversion_page_language => 'en',
58
- :background_color => '#0000FF',
59
- :default_revenue_value => 23.41,
60
- :always_use_default_revenue_value => true
61
- }
62
- }
63
-
64
- # Add conversion.
65
- response = conv_tracker_srv.mutate([operation])
66
- if response and response[:value]
67
- conversion = response[:value].first
68
- puts ("Conversion with ID %d, name '%s', status '%s' and category '%s'" +
69
- " was added.") % [conversion[:id], conversion[:name],
70
- conversion[:status], conversion[:category]]
71
- else
72
- puts 'No conversions were added.'
73
- end
74
- end
75
-
76
- if __FILE__ == $0
77
- API_VERSION = :v201409
78
-
79
- begin
80
- add_conversion_tracker()
81
-
82
- # Authorization error.
83
- rescue AdsCommon::Errors::OAuth2VerificationRequired => e
84
- puts "Authorization credentials are not valid. Edit adwords_api.yml for " +
85
- "OAuth2 client ID and secret and run misc/setup_oauth2.rb example " +
86
- "to retrieve and store OAuth2 tokens."
87
- puts "See this wiki page for more details:\n\n " +
88
- 'http://code.google.com/p/google-api-ads-ruby/wiki/OAuth2'
89
-
90
- # HTTP errors.
91
- rescue AdsCommon::Errors::HttpError => e
92
- puts "HTTP Error: %s" % e
93
-
94
- # API errors.
95
- rescue AdwordsApi::Errors::ApiException => e
96
- puts "Message: %s" % e.message
97
- puts 'Errors:'
98
- e.errors.each_with_index do |error, index|
99
- puts "\tError [%d]:" % (index + 1)
100
- error.each do |field, value|
101
- puts "\t\t%s: %s" % [field, value]
102
- end
103
- end
104
- end
105
- end
@@ -1,171 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # Encoding: utf-8
3
- #
4
- # Author:: api.mcloonan@gmail.com (Michael Cloonan)
5
- #
6
- # Copyright:: Copyright 2014, Google Inc. All Rights Reserved.
7
- #
8
- # License:: Licensed under the Apache License, Version 2.0 (the "License");
9
- # you may not use this file except in compliance with the License.
10
- # You may obtain a copy of the License at
11
- #
12
- # http://www.apache.org/licenses/LICENSE-2.0
13
- #
14
- # Unless required by applicable law or agreed to in writing, software
15
- # distributed under the License is distributed on an "AS IS" BASIS,
16
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
17
- # implied.
18
- # See the License for the specific language governing permissions and
19
- # limitations under the License.
20
- #
21
- # This example adds two rule-based remarketing user lists: one with no site
22
- # visit data restrictions, and another that will only include users who visit
23
- # your site in the next six months.
24
- #
25
- # Tags: AdwordsUserListService.mutate
26
-
27
- require 'adwords_api'
28
-
29
- def add_rule_based_user_lists()
30
- # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
31
- # when called without parameters.
32
- adwords = AdwordsApi::Api.new
33
-
34
- # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
35
- # the configuration file or provide your own logger:
36
- # adwords.logger = Logger.new('adwords_xml.log')
37
-
38
- user_list_srv = adwords.service(:AdwordsUserListService, API_VERSION)
39
-
40
- # First rule item group - users who visited the checkout page and had more
41
- # than one item in their shopping cart.
42
- cart_rule_item = {
43
- :xsi_type => 'StringRuleItem',
44
- :key => {
45
- :name => 'ecomm_pagetype'
46
- },
47
- :op => 'EQUALS',
48
- :value => 'checkout'
49
- }
50
-
51
- cart_size_rule_item = {
52
- :xsi_type => 'NumberRuleItem',
53
- :key => {
54
- :name => 'cartsize'
55
- },
56
- :op => 'GREATER_THAN',
57
- :value => 1.0
58
- }
59
-
60
- # Combine the two rule items into a RuleItemGroup so AdWords will AND
61
- # their rules together.
62
- checkout_multiple_item_group = {
63
- :items => [cart_rule_item, cart_size_rule_item]
64
- }
65
-
66
- # Second rule item group - users who checked out after October 31st
67
- # and before January 1st.
68
- start_date_rule_item = {
69
- :xsi_type => 'DateRuleItem',
70
- :key => {
71
- :name => 'checkoutdate'
72
- },
73
- :op => 'AFTER',
74
- :value => '20141031'
75
- }
76
-
77
- end_date_rule_item = {
78
- :xsi_type => 'DateRuleItem',
79
- :key => {
80
- :name => 'checkoutdate'
81
- },
82
- :op => 'BEFORE',
83
- :value => '20150101'
84
- }
85
-
86
- # Combine the date rule items into a RuleItemGroup.
87
- checked_out_nov_dec_item_group = {
88
- :items => [start_date_rule_item, end_date_rule_item]
89
- }
90
-
91
- # Combine the rule item groups into a Rule so AdWords will OR the
92
- # groups together.
93
- rule = {
94
- :groups => [checkout_multiple_item_group, checked_out_nov_dec_item_group]
95
- }
96
-
97
- # Create the user list with no restrictions on site visit date.
98
- expression_user_list = {
99
- :xsi_type => 'ExpressionRuleUserList',
100
- :name => 'Users who checked out in November or December OR ' +
101
- 'visited the checkout page with more than one item in their cart',
102
- :description => 'Expression based user list',
103
- :rule => rule
104
- }
105
-
106
- # Create the user list restricted to users who visit your site within the
107
- # specified timeframe.
108
- date_user_list = {
109
- :xsi_type => 'DateSpecificRuleUserList',
110
- :name => 'Date rule user list created at ' + Time.now.to_s,
111
- :description => 'Users who visited the site between 20141031 and ' +
112
- '20150331 and checked out in November or December OR visited the ' +
113
- 'checkout page with more than one item in their cart',
114
- # We re-use the rule here. To avoid side effects, we need a deep copy.
115
- :rule => Marshal.load(Marshal.dump(rule)),
116
- # Set the start and end dates of the user list.
117
- :start_date => '20141031',
118
- :end_date => '20150331'
119
- }
120
-
121
- # Create operations to add the user lists.
122
- operations = [expression_user_list, date_user_list].map do |user_list|
123
- {
124
- :operand => user_list,
125
- :operator => 'ADD'
126
- }
127
- end
128
-
129
- # Submit the operations.
130
- response = user_list_srv.mutate(operations)
131
-
132
- # Display the results.
133
- response[:value].each do |user_list|
134
- puts ("User list added with ID %d, name '%s', status '%s', " +
135
- "list type '%s', accountUserListStatus '%s', description '%s'.") %
136
- [user_list[:id], user_list[:name], user_list[:status],
137
- user_list[:list_type], user_list[:account_user_list_status],
138
- user_list[:description]]
139
- end
140
- end
141
-
142
- if __FILE__ == $0
143
- API_VERSION = :v201409
144
-
145
- begin
146
- add_rule_based_user_lists()
147
-
148
- # Authorization error.
149
- rescue AdsCommon::Errors::OAuth2VerificationRequired => e
150
- puts "Authorization credentials are not valid. Edit adwords_api.yml for " +
151
- "OAuth2 client ID and secret and run misc/setup_oauth2.rb example " +
152
- "to retrieve and store OAuth2 tokens."
153
- puts "See this wiki page for more details:\n\n " +
154
- 'http://code.google.com/p/google-api-ads-ruby/wiki/OAuth2'
155
-
156
- # HTTP errors.
157
- rescue AdsCommon::Errors::HttpError => e
158
- puts "HTTP Error: %s" % e
159
-
160
- # API errors.
161
- rescue AdwordsApi::Errors::ApiException => e
162
- puts "Message: %s" % e.message
163
- puts 'Errors:'
164
- e.errors.each_with_index do |error, index|
165
- puts "\tError [%d]:" % (index + 1)
166
- error.each do |field, value|
167
- puts "\t\t%s: %s" % [field, value]
168
- end
169
- end
170
- end
171
- end
@@ -1,87 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # Encoding: utf-8
3
- #
4
- # Author:: api.dklimkin@gmail.com (Danial Klimkin)
5
- #
6
- # Copyright:: Copyright 2011, Google Inc. All Rights Reserved.
7
- #
8
- # License:: Licensed under the Apache License, Version 2.0 (the "License");
9
- # you may not use this file except in compliance with the License.
10
- # You may obtain a copy of the License at
11
- #
12
- # http://www.apache.org/licenses/LICENSE-2.0
13
- #
14
- # Unless required by applicable law or agreed to in writing, software
15
- # distributed under the License is distributed on an "AS IS" BASIS,
16
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
17
- # implied.
18
- # See the License for the specific language governing permissions and
19
- # limitations under the License.
20
- #
21
- # This example gets and downloads an Ad Hoc report from a XML report definition.
22
-
23
- require 'adwords_api'
24
-
25
- def download_criteria_report(file_name)
26
- # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
27
- # when called without parameters.
28
- adwords = AdwordsApi::Api.new
29
-
30
- # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
31
- # the configuration file or provide your own logger:
32
- # adwords.logger = Logger.new('adwords_xml.log')
33
-
34
- # Get report utilities for the version.
35
- report_utils = adwords.report_utils(API_VERSION)
36
-
37
- # Define report definition. You can also pass your own XML text as a string.
38
- report_definition = {
39
- :selector => {
40
- :fields => ['CampaignId', 'AdGroupId', 'Id', 'Criteria', 'CriteriaType',
41
- 'FinalUrls', 'Impressions', 'Clicks', 'Cost'],
42
- # Predicates are optional.
43
- :predicates => {
44
- :field => 'Status',
45
- :operator => 'IN',
46
- :values => ['ENABLED', 'PAUSED']
47
- }
48
- },
49
- :report_name => 'Last 7 days CRITERIA_PERFORMANCE_REPORT',
50
- :report_type => 'CRITERIA_PERFORMANCE_REPORT',
51
- :download_format => 'CSV',
52
- :date_range_type => 'LAST_7_DAYS',
53
- # Enable to get rows with zero impressions.
54
- :include_zero_impressions => false
55
- }
56
-
57
- # Download report, using "download_report_as_file" utility method.
58
- # To retrieve the report as return value, use "download_report" method.
59
- report_utils.download_report_as_file(report_definition, file_name)
60
- puts "Report was downloaded to '%s'." % file_name
61
- end
62
-
63
- if __FILE__ == $0
64
- API_VERSION = :v201409
65
-
66
- begin
67
- # File name to write report to.
68
- file_name = 'INSERT_OUTPUT_FILE_NAME_HERE'
69
- download_criteria_report(file_name)
70
-
71
- # Authorization error.
72
- rescue AdsCommon::Errors::OAuth2VerificationRequired => e
73
- puts "Authorization credentials are not valid. Edit adwords_api.yml for " +
74
- "OAuth2 client ID and secret and run misc/setup_oauth2.rb example " +
75
- "to retrieve and store OAuth2 tokens."
76
- puts "See this wiki page for more details:\n\n " +
77
- 'http://code.google.com/p/google-api-ads-ruby/wiki/OAuth2'
78
-
79
- # HTTP errors.
80
- rescue AdsCommon::Errors::HttpError => e
81
- puts "HTTP Error: %s" % e
82
-
83
- # API errors.
84
- rescue AdwordsApi::Errors::ReportError => e
85
- puts "Reporting Error: %s" % e.message
86
- end
87
- end
@@ -1,86 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # Encoding: utf-8
3
- #
4
- # Author:: api.dklimkin@gmail.com (Danial Klimkin)
5
- #
6
- # Copyright:: Copyright 2012, Google Inc. All Rights Reserved.
7
- #
8
- # License:: Licensed under the Apache License, Version 2.0 (the "License");
9
- # you may not use this file except in compliance with the License.
10
- # You may obtain a copy of the License at
11
- #
12
- # http://www.apache.org/licenses/LICENSE-2.0
13
- #
14
- # Unless required by applicable law or agreed to in writing, software
15
- # distributed under the License is distributed on an "AS IS" BASIS,
16
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
17
- # implied.
18
- # See the License for the specific language governing permissions and
19
- # limitations under the License.
20
- #
21
- # This example gets an Ad Hoc report using AdWords Query Language.
22
- # See AWQL guide for more details:
23
- # https://developers.google.com/adwords/api/docs/guides/awql
24
-
25
- require 'date'
26
-
27
- require 'adwords_api'
28
-
29
- def download_criteria_report_with_awql(file_name, report_format)
30
- # AdwordsApi::Api will read a config file from ENV['HOME']/adwords_api.yml
31
- # when called without parameters.
32
- adwords = AdwordsApi::Api.new
33
-
34
- # To enable logging of SOAP requests, set the log_level value to 'DEBUG' in
35
- # the configuration file or provide your own logger:
36
- # adwords.logger = Logger.new('adwords_xml.log')
37
-
38
- # Get report utilities for the version.
39
- report_utils = adwords.report_utils(API_VERSION)
40
-
41
- # Prepare a date range for the last week. Instead you can use 'LAST_7_DAYS'.
42
- date_range = '%s,%s' % [
43
- DateTime.parse((Date.today - 7).to_s).strftime('%Y%m%d'),
44
- DateTime.parse((Date.today - 1).to_s).strftime('%Y%m%d')
45
- ]
46
-
47
- # Define report definition. You can also pass your own XML text as a string.
48
- report_query = 'SELECT CampaignId, AdGroupId, Id, Criteria, CriteriaType, ' +
49
- 'Impressions, Clicks, Cost FROM CRITERIA_PERFORMANCE_REPORT ' +
50
- 'WHERE Status IN [ENABLED, PAUSED] ' +
51
- 'DURING %s' % date_range
52
-
53
- # Download report, using "download_report_as_file_with_awql" utility method.
54
- # To retrieve the report as return value, use "download_report_with_awql"
55
- # method.
56
- report_utils.download_report_as_file_with_awql(report_query, report_format,
57
- file_name)
58
- puts "Report was downloaded to '%s'." % file_name
59
- end
60
-
61
- if __FILE__ == $0
62
- API_VERSION = :v201409
63
-
64
- begin
65
- # File name to write report to.
66
- file_name = 'INSERT_OUTPUT_FILE_NAME_HERE'
67
- report_format = 'CSV'
68
- download_criteria_report_with_awql(file_name, report_format)
69
-
70
- # Authorization error.
71
- rescue AdsCommon::Errors::OAuth2VerificationRequired => e
72
- puts "Authorization credentials are not valid. Edit adwords_api.yml for " +
73
- "OAuth2 client ID and secret and run misc/setup_oauth2.rb example " +
74
- "to retrieve and store OAuth2 tokens."
75
- puts "See this wiki page for more details:\n\n " +
76
- 'http://code.google.com/p/google-api-ads-ruby/wiki/OAuth2'
77
-
78
- # HTTP errors.
79
- rescue AdsCommon::Errors::HttpError => e
80
- puts 'HTTP Error: %s' % e
81
-
82
- # API errors.
83
- rescue AdwordsApi::Errors::ReportError => e
84
- puts 'Reporting Error: %s' % e.message
85
- end
86
- end